; f r
X PRESS 16: U
La Guía Lotus Para Utilizar Symphony
CARACTERISTICAS:
* Páginas: 443
* Papel offset: 112 grs.
* Tamaño: 182 x 232 mm.
* Encuademación: Rústica-cosido
LA GUIA LOTUS PARA UTILIZAR SYMPHONY
es un libro que le enseñará paso a paso, y de
una forma muy práctica cómo utilizar este
programa.
LA GUIA LOTUS contiene:
- Cómo crear y manejar ficheros
- Descripción detallada de las facilidades
que ofrecen las ventanas de SYMPHONY.
- Apéndice que cubre las aplicaciones adi-
cionales que van incluidas en el programa.
- Un índice detallado y un vocabulario don-
de fácilmente podrá encontrar cualquier
tema que necesite.
El complemento indispensable para el manual de SYMPHONY
OFERTA DE LANZAMIENTO 4.500 PTAS. (IVA INCLUIDO)
Recorte y envíe HOY MISMO este cupón a: ÍllfQtilSJ S.3. c/ Bravo Murülo, 377 - 28020 MADRID
CUPON DE PEDIDO
TAMBIEN
LO PUEDE
ADQUIRIR
EN SU LIBRERIA
HABITUAL
SI Envíenme el libro «LA GUIA LOTUS PARA UTILIZAR SYMPHONY» al
precio de 4.500 PTAS. EL IMPORTE lo abonaré:
Con tarjeta de crédito VISA □ INTERBANK □ AMERICAN EXPRESS □
CONTRAREEMBOLSO □ ADJUNTO CHEQUE □
Número de mi tarjeta
Fecha de caducidad
NOMBRE
Firma,
DIRECCION
CIUDAD
CP.
PROVINCIA
TELEFONO
DIRECTOR:
Juan Arencibia.
COLABORADORES:
Angel Zarazaga, Teresa Aranda,
Ricardo García.
DISEÑO:
Benito Gil.
Editada por:
PUBLINFORM ATICA, S.A.
C/ Bravo Munllo, 377 - 5 o A
Tel.: 733 71 13
28020 Madrid.
Telex 488877 OPZXE
PRESIDENTE:
Fernando Bolín.
DIRECTOR EDITORIAL
REVISTAS DE USUARIOS:
Juan Arencibia.
DIRECTOR DE VENTAS:
Antonio González.
JEFE DE PRODUCCION:
Miguel Onieva.
SERVICIO AL CLIENTE:
Julia González.
Tel.: 733 79 69
DIRECCION, REDACCION
Y ADMINISTRACION:
C/ Bravo Murillo, 377 - 5.° A
Tel.: 733 74 13
28020 Madrid.
COORDINADORA
DE PUBLICIDAD:
Silvia Bolín.
PUBLICIDAD EN MADRID:
Emilio García.
PUBLICIDAD EN BARCELONA:
C/ Pelayo, 12.
Tel.: (93) 301 47 00 Ext. 27-28
08001 Barcelona.
Depósito Legal: M. 16.755-1985
Impreso en G. Velasco, S.A.
C/ Antonio Cabezón, 1 3. Madrid.
Distribuye:
S.G.E.L Avda. Valdelaparra, s/n.
Alcobendas (Madrid).
DISTRIBUIDORES:
VENEZUELA: SIPAM, S.A.
Avda. República
Dominicana, 541
ARGENTINA: DISTRIBUIDORA
INTERCONTINENTAL
BUENOS AIRES.
El P.V.P. para Ceuta, Melilla y
Canarias, incluido servicio aéreo
será de 300 ptas. sin I.V.A.
SUSCRIPCIONES
Rogamos dirija toda la
correspondencia relacionada con
suscripciones a
MSX
EDISA Tel. 415 97 12
C/López de Hoyos 1415°
28002 MADRID
(Para todos los pagos reseñar
solamente MSX)
Para la compra de ejemplares
atrasados diríjanse a la propia
editorial
MSX
C/Bravo Munllo. 377 5 9 A
Tel. 733 74 13 28020 MADRID
Si deseas colaborar en MSX remite tus
artículos o programas a Bravo Munllo
377 5 0 A 28020 Madrid Los programas
deberán estar grabados en cassette y los
artículos mecanografiados
A electos de remuneración, se analiza
cada colaboración aisladamente estu
diando su complejidad y calidad
N
| uestro tema de portada es un fiel reflejo de la actual situación
delmercado de los ordenadores personales. Los distribuidores
ly fabricantes de ordenadores personales, han abierto sus
puertas a otro tipo de máquinas, procurando hacerse con el mayor
número de usuarios posibles. Por esta razón, nos encontramos con
que empresas que antes fabricaban y distribuían ordenadores do-
mésticos (como Investrónica, Indescomp y Spectravideo España),-
optan a su vez, por iniciar una nueva andadura por el mercado del •
compatible PC.
Esta situación, evidentemente provocada por el tremendo bajón de
precios de dichos ordenadores (ya iba siendo hora), ha hecho que to-
do el mercado de ordenadores domésticos padezca un estancamien-
to a todos los niveles. La solución es bien sencilla, clara y determinante.
O los precios de los ordenadores pequeños bajan, o mucho nos te-
memos que dentro de nada, veremos a los compatibles PC ocupando
en nuestras casas el lugar correspondiente a los ordenadores per-
sonales.
Este paso ha de tomarse cuanto antes, pues la bajada de precios
del software da pie a ello. Ahora todo depende de la decisión que los
fabricantes tomen, pues en la actualidad, comprarse un compatible PC
por el precio de un MSX de la II Generación es algo bien tentador.
Por otro lado, este mes nos dedicamos a desvelar los misterios ue
el dBASE II, versión MSX, encierra y a comentar las posibilidades del
MSX-DOS, un sistema operativo que trae de cabeza a mucho usuarios.
En primere lugar, la versión MSX del dBASE II, es la misma que la
del IBM PC, salvando las diferencias entre ambos, lo cual resulta inte-
resante, ya que el que trabaje con un dBASE en la oficina, podrá conti-
nuar con el trabajo en casa.
Con respecto al MSX-DOS hay que señalar que, además de ser el
sistema operativo por excelencia, sus posibilidades aplicada al MSX
son más bien escasas. Esto se debe a la omisión de muchos coman-
dos y programas de utilidad que este sistema operativo incorpora,
cuya versión para los ordenadores domésticos se ha quedado reduci-
da a los tres programas que vienen en el disco de MSX-DOS, al adqui-
rir un ordenador de la II Generación.
MSX
MSX 3
Noticias.
Libros. La lógica del or-
denador e Introducción
al BASIC MSX .dos obras que
bien merecen la pena ser leídas.
X'press 16; un PC pocoi
Corriente. Spectravideo ha da-
do un gran paso dentro del mercado
de los ordenadores compatibles,
más aún cuando se ha unificado en
un mismo ordenador, las caracterís-
ticas del PC con las posibilidades
gráficas y sonoras de los MSX II.
Software. Este mes dispone-
mos de dos programas interesantí-
simos para ordenadores de la II Ge-
neración, Vampire Killer y The
Chess Game, que junto a The Wall,
Storm, Donkey Kong y Gauntlet,
conforman esta sección.
Test: Music Module, un
simple pero completo módulo mu-
sical, que transforma tu MSX en toda
una orquesta.
Juegos; decisiones y
Condiciones. Para diseñar un
juego, es importante saber de dón-
de partimos y que queremos hacer
para llegar a la meta. Esto implica el
desarrollo de la toma de decisiones,
¿cómo se hace?
4 MSX
36
MSX-DOS, el gran des-
conocido. Nada más lejos de la
realidad. El sistema operativo MSX-
DOS, ha resultado ser menos es-
pectacular que su pariente del cual
partió.
40
dBASE II para MSX. una
potente base de datos, cuyas posi-
bilidades sólo dependen de la ca-
pacidad de cada usuario, pues su
versatilidad, está fuera de toda du-
da.
Programa; La puerta de
la Fortuna. Un juego para orde-
nadores MSX de la II generación pa-
ra jugar entre 2 y 9 personas que es-
tén dispuestas a pasar un rato agra-
dable.
Algoritmo de Martin.
64
52
Compro, vendo, cambio.
Donde todas vuestras transaccio-
nes pueden tener lugar.
EDISK; ¡Aventúrese a
entrar en sus diskettes
con este programa! no ca-
be duda que los discos siempre han
sido los elementos más difíciles de
entender y de manejar. Sin embar-
go, este programa, nos facilita enor-
memente esa labor.
66
Rincón del Lector. ¿Tenéis
alguna duda? Contarnos vuestro
problema, que aquí encontraréis la
respuesta.
MSX 5
Algo nuevo
diabéticos
Los monitores portátiles de gluco-
sa constituyen quizás el mayor
avance para los diabéticos desde el
descubrimiento de la insulina. La
empresa de Hong Kong, Newcrest
Diagnostic Limited, produce ahora
el «Omniscan», que proporciona
una lectura exacta del nivel de azú-
car en la sangre, en pocos minutos y
en cualquier lugar.
El «Omniscan» es un fotómetro
reílectivo. El aparato mide la luz re-
flejada por la tira de test al ser ilumi-
nada por una lámpara que está en el
interior. La medición obtenida se
compara con una lista de medicio-
nes pre-establecidas almacenada
en la memoria del microprocesador,
y finalmente se muestra el resultado
correspondiente en la pantalla. Si de
alguna forma el aparato se utiliza in-
correctamente, la palabra «error»
aparece de forma intermitente en la
misma pantalla.
Una de las principales ventajas
de este aparato, es que admite hasta
tres tipos de tiras de test con reacti-
vo. Puede almacenar en su memo-
ria hasta 20 mediciones, junto con la
fecha y hora en que se efectuaron.
La fecha y hora reales se mues-
tran en una pantalla LCD de tamaño
extra-grande. Funciona con cuatro
baterías «AA», y lleva un indicador
para pilas gastadas. Opcionalmen-
te, puede adquirirse un adaptador
para corriente alterna y una impre-
sora térmica, por si se necesita una
copia escrita de las lecturas.
Después de cinco munitos de es-
tar encendida, la máquina se apaga
automáticamente, para evitar un
gasto inútil de energía. En la parte
interior del aparato se han impreso
las instrucciones para su uso y el
aparato se presenta con un librito de
instrucciones detalladas y un diario.
Premio SIMO
periodismo
El Jurado compuesto por: D. Fer-
nando Elzaburu (Presidente), D. Ma-
nuel Calvo Hernando, D. Pedro Oriol
riva, D. Angel Salto Dolía y D. Fran-
cisco de Lacalle Leloup (Secretario),
tras analizar los trabajos difundidos
en distintos medios de Comunica-
ción Social, ha adjudicado los PRE-
MIOS SIMO DE PERIODISMO 86 a:
D. Enrique SANCHO BLANES de
«Diario 1 6», por el artículo aparecido
en dicho Diario el día 20 de noviem-
bre de 1986 bajo el título LAS NUE-
VAS TECNOLOGIAS REVOLUCIO-
NAN EL DISEÑO TRADICIONAL, y a
D. Reyes VILA BELSA de «Actuali-
dad Económica» por el artículo apa-
recido en el n/ 1482 del mes de no-
viembre bajo el título LA MAGIE DE
LAS MAQUINAS.
La fundación CITEMA, siguiendo
las sugerencias del Jurado, convo-
cará la tercera edición del mismo
con arreglo a unas nuevas Bases en
las que se contempla un primer pre-
mio de 1 .000.000 ptas. y tres accésit
de 250.000 ptas. cada uno.
Teléfono
combinado
con telefax
que puede
colocarse
sobre una
mesa de
escritorio
Ahora existe en el mercado un te-
léfono con telefax incorporado que
es considerablemente más peque-
ño que la mayoría de estos aparatos
actualmente en venta, pero tiene
una gran capacidad.
Este telefax, que se denomina Vo-
cofax, lo lanza ahora por todo el
mundo la empresa Teli, una filial de
la Compañía Telefónica Sueca.
Con el interfaz RS-232C, el tele-
copier puede utilizarse como impre-
sora para ordenadores personales,
o bien como módem cuando éstos
comunican con otros ordenadores
personales conectados a un Voco-
fax. Además, puede emplearse co-
mo copiadora.
El Vocofax se presentará por pri-
mera vez en una ferie de telecomu-
nicación el 20-27 de octubre próxi-
mo en la Telecom 87, en Ginebra.
Este teléfono con telefax incorpo-
rado ha sido desarrollado por la
Compañía Telefónica Sueca en co-
laboración con la empresa japone-
sa Tokyo Electric Company.
El nuevo telefax puede memorizar
120 números de teléfono. Si al lla-
mar un número está ocupado, el
aparato hace automáticamente dos
nuevos intentos de llamada.
La velocidad de transmisión de
una página tamaño A4 es de menos
de 25 segundos. Para poder utilizar-
se por todo el mundo el Vocofax
puede trabajar con telefax que utili-
cen los standars CCITT de los gru-
pos 2 y 3.
Con el interfaz RS-232C y un soft-
ware especial, el Vocofax puede
emplearse para comunicar con
otros ordenadores personales que
estén conectados a la red telefónica
a través de un Vocofax.
Además, este aparato también
puede emplearse como «telefonis-
ta». Si la persona que llama marca el
número con un teléfono de teclado,
el Vocofax escribe automáticamen-
te una nota con el número de teléfo-
no, por ejemplo, en la habitación de
un hotel.
Teléfono con telefax incorporado
que puede colocarse sobre la mesa
de escritorio. Una creación de la
compañía telefónica sueca y la em-
presa japonesa TEC. Utilizando un
interfaz RS-232C y un programa es-
pecial, el Vocofax puede hacer las
veces de impresora de ordenadores
personales y de módem para comu-
nicación con otros ordenadores
personales conectados a un Voco-
fax.
Para información más detallada,
sírvanse ponerse en contacto con:
TELI, Lars G Forsstróm
Box 234, S- 149 01 NYNÁSHAMN,
Suecia
Tel.: +46 - 752 639 62
Telecopier: +46 - 752 179 26
MSX 7
X'press
16
un PC
poco
corriente
Tras su reciente incursión en el campo de los
compatibles PC, Spectravideo se embarca en una
nueva aventura, el X-press 16, híbrido de PC y
MSX con el que la firma de Hong Kong intenta
aunar lo mejor de ambos mundos.
X' Press 16
/\ \ ún cuando el precio ya no es
un obstáculo insalvable, los
>Cs siguen teniendo dificul-
tades para asentarse en el mercado
doméstico. A diferencia de otros or-
denadores, cuentan con pocos jue-
gos de calidad y sus gráficos y soni-
dos son muy pobres. Spectravideo
ha intentado superar estos inconve-
nientes dando al X'press 1 6 las mis-
mas posibilidades gráficas y sono-
ras que tienen los MSX de la segun-
da generación, sin perder por ello
compatibilidad con el estándar PC.
Hardware
Retirando la cubierta de la unidad
central, sujeta por cuatro tornillos, se
accede á la placa principal del X'-
press 16, que tiene poco en común
con la de otros compatibles. Su CPU
es un microprocesador INTEL 8088
que trabaja -a 4.77 MHz, como en el
IBM PC. La RAM del equipo es de
256 Kbytes, siendo necesario utili-
zar una tarjeta adicional para am-
pliarla. El controlador de disco, el
adaptador de gráficos en color
(CGA) y los 16 Kbytes de memoria
de vídeo de la CGA están incluidos
en la circuitería de la tarjeta princi-
pal. También se encuentran en ella
el mismo procesador de vídeo que
en los MSX de la segunda genera-
ción (un VDP 9938 con 128 Kbytes
de memoria de pantalla), y el gene-
rador de sonido AY-3-8912, que
proporciona tres canales de sonido
y uno de ruido de ocho octavas ca-
da uno. La salida de los dos módu-
los de sonido, el estándar del PC y el
generador programable AY-3-891 2,
se mezcla en un amplificador-su-
mador y se entrega posteriormente
a un altavoz interno y a un zócalo de
salida.
Una de las características más
atractivas del X'press 1 6 es su capa-
cidad de superponer la señal de
vídeo procedente de la CGA (una
V6355 que incluye una implementa-
ción restringida de los registros in-
ternos del CRTC 6845) con los es-
pectaculares gráficos tipo MSX2
producidos por el VDP 9938, gene-
rando imágenes de una compleji-
dad nunca vista en ordenadores do-
mésticos.
Los conectores existentes en el
panel trasero son los habituales en
los compatibles PC, aunque se le
han añadido algunos extras: moni-
tor RGB, vídeo compuesto/audio,
10 MSX
mente posee un slot de expansión.
Spectravideo construye una tarjeta
multifunción con ampliación de me-
moria hasta 640 Kbytes, puerto serie
RS-232-C y reloj calendario de
tiempo real.. También comercializa
un ventilador de refrigeración y un
modulador de TV, así como una tar-
jeta adaptadora de juegos MSX,
compatible con prácticamente to-
dos los cartuchos de juegos desa-
rrollados para los ordenadores
MSX.
El X'press 16 es un PC con
las mejores características
de los MSX II; gráficos y
sonido.
impresora paralelo, joystick y ratón/
lápiz óptico. En el panel frontal de la
unidad central se encuentra el co-
nectar del teclado y un pequeño
pulsador de reset. Precisamente el
teclado es sin duda el componente
peor acabado del equipo, aunque
Spectravideo afirma que se trata de
un defecto de las primeras unida-
des, satisfactoriamente subsanado
en las máquinas que se pondrán a
la venta. Consta de 83 teclas que
adoptan la misma disposición que
las del AT, salvo las de función, que
se encuentran en el margen supe-
rior.
Tarjetas de ampliación
Las posibilidades de ampliación
del X'press 1 6 son inferiores a las de
otros equipos similares, pues sola-
FICHA
Nombre: Spectravideo X'press 16.
Distribuidor en España: Spectravideo Ibérica.
Avda. de la Constitución, 260.
Torrejón de Ardoz (Madrid).
Tel.: (91) 675 78 54.
Características estándar:
- Procesador Intel 8088 a 4.77 Mhz.
- Memoria RAM de 256 Kbytes.
- Una unidad de disquetes de 5 1/4" y 360 Kbytes de capacidad.
- Un slot de expansión.
- Sistema operativo MS-DOS 2.1.
- Interface paralelo y gráficos color.
- Conectares de joystick y ratón/lápiz óptico.
Opciones:
- Almacenamiento: segunda unidad de disquetes de 5 1/4".
- Tarjeta multifunción con ampliación de memoria de 384 Kbytes,
puerto seie RS-232-C y reloj calendario de tiempo real.
- Ventilador SVI 81 3.
- Modulador PAL SVI 814.
Precio:
1 09.000 ptas. versión básica (sin monitor, incluye CPU, 256 Kbytes de
memoria RAM, una unidad de disquetes, sistema operativo y docu-
mentación de usuario).
La fuente de alimentación interna
entrega una potencia de sólo 26 wa-
tios, suficiente para la mayor parte
de las tarjetas de ampliación, pero
no para aquellas de consumo eleva-
do. Spectravideo aconseja en el
«Manual del Usuario» cerciorarse
antes de comprar una tarjeta que no
haya sido diseñada específicamen-
te para el X'press 1 6 de que es ade-
cuada para su fuente de alimenta-
ción. El equipo cedido a esta redac-
ción estaba provisto de una sola
unidad de disquetes, de 5 1/4" y de
media altura, aunque la instalación
de otra unidad resulta muy sencilla.
Otro cantar sería el instalar un disco
duro, puesto que en el muy dudoso
caso de que la fuente de alimenta-
ción lo soportara, ocuparía la única
ranura de expansión, imposibilitan-
do la conexión de otras tarjetas.
Alta compatibilidad
La compatibilidad del X-press 16
con el IBM PC es casi absoluta. El
Compatest, una de las pruebas de
más prestigio, proporciona un índi-
ce del 98%, prácticamente el máxi-
mo que se puede conseguir sin in-
fringir los copyrights de IBM. Según
el mismo test, la velocidad resulta
siempre algo inferior a la del IBM PC,
con una diferencia máxima de tres
segundos en la lectura y escritura
aleatoria de un fichero en disco. Pro-
gramas como el simulador de vuelo
de Microsoft, las Norton Utilities, Si-
dekick, The Ancient Art of War, Per-
sonal Editor y Wordstar se ejecutan
sin contratiempos, mientras que
otros como Symphony y Framework
no se pudieron comprobar por re-
querir una tarjeta de expansión de
memoria.
El sistema operativo que se entre-
ga con el X'press 16 es el MS-DOS
MSX 11
X'Press 16
2.1, con algunos programas no es-
tándar que facilitan notablemente su
utilización de la máquina. En este
sentido, destaca especialmente
RDISK.SYS, un controlador de disco
RAM y spooler de impresora que
emplea los 128 Kbytes de vídeo del
modo gráfico MSX2, sin restar me-
moria al DOS, SVDISK es una ver-
sión diferentes del mismo programa
pero utilizando la RAM del sistema.
El GW-BASIC es una versión espe-
cial en la que se han introducido
ciertas mejoras para gestionar el
VDP 9938 (procesador de vídeo
MSX2) y el generador programable
de sondio AY-3-89121.
La documentación del equipo es-
tá compuesta por tres manuales en
castellano: «MS-DOS, Guía del
Las posibilidades de
ampliación del X'press 16
son inferiores a otros
equipos.
Usuario», «GW-BASIC, Guía del
Usuario» y un «Manual del Usuario»
que contiene importantes datos so-
bre las peculiaridades del X'press
16, su instalación, periféricos y es-
pecificaciones técnicas. Además
del disquete con el sistema operati-
vo y el GW-BASIC, Spectravideo su-
ministra una brillante demostración
que destaca las posibilidades gráfi-
immiiMiiimiiiimiii
12 MSX
í
El Computest anuncia un
índice de compatibilidad
del 98%.
cas y musicales del ordenador, muy
superiores a las de cualquier otro
PC.
En definitiva, se trata de un com-
patible orientado al mercado do-
méstico, algo escaso de memoria
para los tiempos que corren, pero
capaz de proporcionar largas horas
de diversión con el simple adita-
mento de una tarjeta adaptadora de
juegos MSX. Su futuro depende en
buena medida de la aparición de
programas que exploten sus carac-
terísticas específicas, tarea en la que
Spectravideo tiene la última pala-
bra.
Enrique Larreta
MSX 13
/ / f \ V
Libro: Introducción al Basic
MSX.
Autores: P. Kuczora
y Ch. King.
Editorial: Gustavo Gilí S. A.
Páginas: 255
El ordenador estándar MSX repre-
senta un nuevo y gran avance en el
campo de los ordenadores domés-
ticos en todo el mundo. Para el
usuario ofrece el beneficio de pre-
cios más bajos, mayor disponibili-
dad y estandarización del software y
periféricos, que serán el resultado,
inevitable de la entrada de las gi-
gantescas compañías electrónicas
japonesas en el mercado de los or-
denadores domésticos.
El estándar MSX fue desarrollado
por la casa de software estadouni-
dense Microsoft, responsable del
desarrollo de lo que muchos han
considerado como la versión están-
dar del lenguaje BASIC de los orde-
nadores. Sin embargo, la verdadera
importancia del estándar MSX no re-
side en que todas las máquinas utili-
cen la misma versión del lenguaje
BASIC, sino en que comparten tam-
bién la misma arquitectura de hard-
ware. Esto significa que no sólo po-
drán ejecutarse los programas es-
critos en BASIC MSX en cualquier
ordenador MSX (siempre que lo per-
mita la limitación de su memoria), si-
no que los programas escritos en
código máquina, tales como los de
las máquinas recreativas, podrán
ejecutarse en cualquier máquina
estándar MSX.
Sin embargo, para poder aprove-
char a fondo los recursos de nuestro
MSX es interesante conocerlos y
probarlos uno mismo. Para ello, na-
da mejor que un buen libro que nos
acompañe en esta tarea.
Esta introducción al BASIC MSX
está escrita siguiendo el procedi-
miento que podríamos denominar
como «manos a la obra»; es decir,
desde las primeras páginas del libro
se nos invita a conectar nuestro or-
denador y realizar en la práctica con
nuestras propias manos todos los
ejemplos y sugerencias que van
apareciendo. El libro está desarro-
llado en tres grandes bloques, uno
de los cuales consiste en cinco
proyectos de programa BÁSIC que
nos conducen a través de las diver-
sas etapas de la producción de soft-
wares con un acabado profesional.
La primera sección del libro nos
ayuda a poner en marcha nuestro
MSX recién comprado, partiendo
desde el desembalaje y con nume-
rosos consejos sobre el manejo del
cassette y diversas precauciones
que es bueno considerar. Una vez
que el ordenador está correctamen-
te instalado, podemos «atacar» al te-
clado. El libro nos va guiando poco a
poco para conocer los comandos
BASIC más elementales y perder el
miedo a la máquina.
Tras una primera fase en la que
los ejemplos se basan en coman-
dos directos, empezaremos a escri-
bir breves programas que nos servi-
rán para analizar instrucciones tales
como GOTO, GOSUB o FOR... NEXT.
Una vez que ya vamos tomando
soltura ante el ordenador, llega el
momento de plantearse la proble-
mática de la resolución de proble-
mas y los procesos implicados.
Continuamos con el diseño de un
programa de ordenador para satis-
facer una tarea en particular, y con la
forma en que la utilización de la
«programación estructurada» pue-
de hacer las cosas mucho más sen-
cillas, no sólo para el programador
experimentado, sino también para
los no iniciados en ordenadores. Es-
ta primera sección finaliza con la in-
troducción de algunas de las más
avanzadas características del BA-
SIC MSX, tales como el diseño y la
utilización de Sprites.
La segunda sección está dedica-
da, como ya hemos mencionado, a
cinco proyectos de programación
en BASIC, de los que tres son jue-
gos, otro es un programa de base de
datos (concretamente una agenda
de direcciones y teléfonos) y otro un
programa de gráficas de funciones
matemáticas. Estos cinco proyectos
están desarrollados paso a paso y
acompañados de explicaciones
abundantes, por lo que constituyen
un excelente campo de aprendizaje
para el lector.
La tercera sección la forma una
guía rápida de referencia de las pa-
labras clave o comandos del BASIC
MSX, que nos permite refrescar
14 MSX
nuestra memoria con el significado
y las funciones desempeñadas por
cada comando. De nuevo, donde es
necesario, se incluyen ejemplos de-
mostrativos que el lector puede te-
clear para comprender mejor la ex-
plicación correspondiente.
En conjunto se trata de un libro
excelente, profundamente orienta-
do hacia el aprendizaje autodidacta
y eminentemente práctico, por lo
que servirá de poco a los que pre-
tenden aprender con su simple lec-
tura; necesita ineludiblemente de un
ordenador MSX encendido y de los
dedos del lector sobre el teclado.
Libro: La lógica
del Ordenador.
Autor: Agustín Martínez
Menéndez.
Colección: Informática
en el Aula.
Editorial: Alhambra.
Páginas: 135
Desde que dio comienzo la histo-
ria de la informática, con aquellos
ordenadores que ocupaban habita-
ciones enteras, de uso exclusivo pa-
ra científicos, hasta la expansión ac-
tual de la microinformática, ha pasa-
do menos de medio siglo. A pesar
de esta vertiginosa evolución, la
programación de ordenadores, e in-
cluso su arquitectura básica, han lle-
gado a ser de alguna forma bastan-
te familiares para nosotros. Ahora
bien, las bases del funcionamiento
interno del ordenador, su lógica, han
sido consideradas como temas ári-
dos y difíciles de abordar.
Esto no es cierto en absoluto, y
menos tal y como está desarrollado
este libro, que nos conduce fácil-
mente a través de los fundamentos
de la lógica. Para ello utiliza ejerci-
cios sencillos y atrayentes que plas-
man paulatinamente los conceptos
teóricos. Estos están presentados
de forma amena y a la vez rigurosa,
proporcionando al lector las bases
mínimas necesarias para poder
continuar con el estudio de temas
de lógica matemática o de teoría de
circuitos.
Dado el carácter didáctico y ge-
neral de esta obra, se parte de la ba-
r
INFORMATICA EN EL AULA
se de que el lector es totalmente
neófito en temas de lógica y ordena-
dores. Lo primero que aprendemos
son los conceptos de información y
comunicación, y la problemática de
adaptar la información a las máqui-
nas que han de procesarla, así co-
mo la necesidad de códigos.
Tras una breve introducción a la
estructura de la memoria de un or-
denador, pasamos a ver los códigos
numéricos que nos sirven para al-
macenar la información en la me-
moria, y nos introducimos de lleno
en la lógica binaria, operaciones ló-
gicas, leyes de Morgan, etc.
Una vez introducidos en este
campo profundizamos un poco más
con el estudio de funciones canóni-
cas, a través de ejemplos de opera-
ciones lógicas con relés.
Tras esto llega la hora de ver la
aplicación algo más práctica de los
conceptos introducidos. Para ello,
volvemos un poco hacia atrás en la
historia y aprendemos lo que fue el
elemento básico de los primeros or-
denadores: los relés. Estos nos ayu-
dan a ver modelos prácticos de las
funciones lógicas y a entender el
funcionamiento de las puertas lógi-
cas y a entender el funcionamiento
de las puertas lógicas, a través de
ejemplos de operaciones lógicas
con relés.
También conoceremos las puer-
tas NAND, ÑOR, las funciones ex-
clusiva y de equivalencia y las fun-
ciones de entradas múltiples.
A continuación disponemos de
un bloque de problemas lógicos de
tipo cotidiano, que nos ayudan a
ejercitarnos para lo que nos espera
después: el diseño de circuitos lógi-
cos aplicando los conocimientos
adquiridos hasta ese momento con
la lectura del libro.
Finalmente, pasamos a analizar la
problemática concreta de los circui-
tos básicos de un ordenador: com-
plementador, semisumador, suma-
dor de tres bits, sumador completo,
multiplicador de dos bits, decodifi-
cador binario-decimal, decodifica-
dor decimal-binario, etc.
Completan el libro tres apéndices
que nos presentan el sentido y ma-
nejo de la lógica de clases y diagra-
mas de Venn, así como otros méto-
dos de minimización de funciones
lógicas.
En sí, el libro es una reflexión
acerca de la lógica y sobre ^"meca-
nización de los propios procesos ló-
gicos, base para la mecanización de
procesos más complejos, y enfoca-
da con un carácter claramente edu-
cativo.
En suma, nos hallamos ante
un valioso compendio de iniciación
al funcionamiento intrínseco del or-
denador y a los procesos operativos
internos del mismo.
MSX 15
SOFTWARE
PROGRAMA:
THE CHESS G AME
(MSX-2)
DISTRIBUIDOR:
PHILIPS/
COMPULOGICAL
TIPO: JUEGO
FORMATO: DISCO DE
3.5"
La evolución, es algo que to-
do elemento tanto viviente como
inerte ha sufrido en algún mo-
mento de su vida, pero las ideas
de las cosas como muy bien di-
ría Platón permanecen estables
en nuestra imaginación, inde-
formables e inmutables con el
paso del tiempo.
El ajedrez para algunos es la
forma más fácil de romperse la
cabeza o lo que es peor, de per-
der el tiempo, sobre gustos no
hay nada escrito, pero cuando
algo sobrevive a las personas
durante tanto tiempo y sin sufrir
variación alguna todos los elo-
gios son pocos. No podemos
definir este maravillosos pro-
grama de ajedrez como una
evolución intrínseca de este jue-
go, ya que la esencia no sufre al-
teración alguna pero para el
campo de la informática y, con-
cretamente en el caso del soft-
ware, nos encontramos ante una
de las maravillas que existen
ahora en el mercado de este ti-
po de juegos de ingenio y habi-
lidad.
Philips, ha hecho un progra-
ma original, innovador y muy
avanzado dentro de la gama de
productos que tienen como te-
ma el juego del ajedrez, tanto en
técnica, como en realización y
contenido. Este programa, está
completamente controlado por
menús que constan, en una pri-
mera parte de las bases del jue-
go, instrucciones, color de las
fichas, tiempo para pensar la ju-
gada así como el inicio del jue-
go. Una segunda parte en la que
se mezclan las características
propias del ajedrez y las ayudas
del programa, memoria de las
jugadas realizadas a lo largo del
juego desde la primera hasta la
última y posibilidad de almace-
namiento ya que el programa se
presenta en un disco de 3.5",
eliminar el último movimiento,
etiquetar el tablero, etc. Un pe-
queño cerebro viene también
dentro del programa, que nos
puede ayudar sin chivarse a mo-
txit «indo» —
Recoaaend ^
Take baclc
Save jaie
Show I abéis
Olí i sate
E
do de consejo cuando encontre-
mos una jugada verdaderamen-
te difícü
La forma de comenzar el
juego es muy sencilla, basta con
designar el color de tus fichas y
familiarizarte con el tablero y la
forma de las fichas que sin duda
están realizadas al detalles, sólo
faltaría que hablasen. Posicio-
nas el cursor en la ficha que de-
seas mover y pulsa la barra es-
padadora, ya has elegido la fi-
cha, a continuación desplázala
al lugar que quieras y usa las
mismas teclas para dejarla, la
máquina te dirá si es correcto o
no. Nada más efectuar tu movi-
miento, se pondrá el reloj en
marcha como verás en la panta-
lla, son unos cronómetros situa-
dos en la parte superior izquier-
da. El primero es para el que
tenga las fichas de color blanco
y el segundo para el que juegue
con negras. El tablero se
proyecta hacia nosotros con una
perspectiva fantástica que nos
permite ver y diferenciar todas
las fichas correctamente, sin te-
ner que agudizar mucho la vista
para distinguirlas. El color de
las mismas no es el tradicional
así como el del tablero pues los
cuadros negros han sido susti-
tuidos por un verde muy alegre
que hace no sea pesada la vi-
sión del juego. Junto a todo ello,
nos encontramos con una gran
capacidad del programa para
solucionar rápidamente las ju-
gadas, todo dependiendo del
tiempo que al principio del jue-
go elijas y que será igual para
ambos.
PUNTUACION:
PRESENTACION: 9
CLARIDAD: 0
RAPIDEZ: 9
ADICCION: 10
16 MSX
PROGRAMA:
VAMPIRE KILLER
(MSX-2)
DISTRIBUIDOR:
SERMA
TIPO: JUEGO
FORMATO:
CARTUCHO
El mercado para los juegos
de ordenador sufre hoy en día
una saturación, prolija e inade-
cuada porque la mayoría de los
juegos están hechos para ven-
der y las aportaciones técnicas
y las innovaciones se relegan
más a un segundo plano.
Esto hace que aquellos jue-
gos en los que sus creadores se
han molestado en presentar un
buen producto cada vez mejor,
nos extrañe a muchos.
Este es en cierto modo el caso
de Konami, no porque éste sea
su primer programa de calidad,
pues tiene muchos, sino porque,
ha dado prioridad siempre a la
calidad, teoría digna de men-
cionar ya que la calidad lleva la
venta.
Vampire Killer, es un juego
para ordenadores MSX de la II
generación, como todos los jue-
gos que hasta ahora hemos po-
dido ver de esta clase, nos pare-
ce una verdadera maravilla. He-
mos entrado sin duda en otro
concepto de programas de
ocio, en los que debido a la lar-"
ga andadura en este campo ca-
da vez se llega más cerca de los
gustos de los aficionados a este
«deporte».
Una despiadada mansión se
presenta ante tí, es un castillo de
la Edad Media y tú, un caballero
al que le ha sido robado todo
cuanto poseía menos su valor y
destreza. El aspecto tétrico del
castillo te hace recordar que no
cuentas con medios para salvar
tu vida frente a los enemigos
que se te puedan aparecer, pe-
ro la aventura y el misterio son
más fuertes que tú.
Fantasmas, monjes enmasca-
rados, panteras salvajes e inclu-
so murciélagos saldrán a tu pa-
so, sólo puedes contar con tu in-
tuición y aquéllo que por arte de
magia consigas...
Cada elemento que encuen-
tres a tu paso es un enigma y por
tanto todo tiene su significado.
La síntesis del juego es muy
sencilla, como podéis deducir
pero la presentación, la acción y
los elementos que forman el
programa y su resolución gráfi-
ca hacen de él, un programa
inédito entre los que por ahora
conocemos.
Numerosos son los laberintos
que forman el castillo, por den-
tro tendrás que subir escaleras
y bajarás a lagos en los que el
infierno se ve latente, sólo te de-
fenderás con un látigo rápido y
fuerte que te salvará del ataque
de los vampiros por ejemplo,
fíjate en los detalles del progra-
ma en cuanto a la realización de
los gráficos parecerán verda-
deros dibujos animados los cua-
les sólo les hace falta hablar. Tu
guerrero tiene forma completa-
mente humana, los colores son
sombríos pero las tonalidades
están perfectamente consegui-
das, ya que están, pudiéramos
decir realizados punto por pun-
to y ya sabéis las medidas de
líneas y columnas de estos or-
denadores, en una palabra, son
dibujos que no están colorea-
dos sino diseñados.
Sonido y música, es el perfec-
to, cada vez que te encuentres
con un enemigo y lo batas te lo
indicará con un pequeño ruido y
una puntuación más elevada,
hacer referencia también a la
sintonía del comienzo la cual in-
quiere al programa en un miste-
rio, que invita a jugar.
Señalar la vitalidad de los mo-
vimientos y la precisión pues un
fallo te podría costar la vida. No
desperdicies tu energía y no te
dejes atrapar por los vampiros
que al fin y al cabo son los envia-
dos de un ser al que todos des-
conocemos.
PUNTUACION:
PRESENTACION: 9
CLARIDAD: 8
RAPIDEZ: 9
ADICCION: 8
MSX 17
Núm. 1
¿Qué es el MSX? Su BASIC,
periféricos, programas,
software.
Núm. 4
Las comunicaciones entre
ordenadores, la jerga infor-
mática, trucos,
MSX- DOS.
Núm. 2
Generación de sonido.
MSX-DOS, el ordenador por
dentro, programas, noticias.
El BASIC MSX
comparado
con Spectrum
Núm. 7
Analizamos el Generador de
Sonido. Aplicaciones mate-
máticas con el ordenador.
Núm. 5
Comandos de entrada/sali-
da, el BASIC MSX compara-
do con Spectrum y Commo-
dore 64. Código Máquina.
Núm. 3
Los joysticks, 256 caracte-
res programables, Z80 co-
razón de león, compro/ven-
do/cambio.
Núm. 6
Los 8 magníficos (test gi-
gante), el bus de expansión,
los misterios de la graba-
ción, oroaramas. I
Núm. 10
Características de la II Ge-
neración. Los secretos del
modo Screen 2. Test: los
plotters. Aplicaciones: ma-
trices ydeterminantes.
Núm. 8
Compact Disc. el periférico
del futuro. Test: Dynadata
DPC-200. Continuamos con
la memoria de vídeo. Libros,
LOGO, un lenguaje educati-
vo. Screen 3: el modo multi-
color. Aplicaciones: siste-
mas de ecuaciones. BASIC
para principiantes. Test:
Seikosha SP-1000MX.
Núm. 9
Características técnicas del
Compact Disc. Tratamiento
de datos. Test: Quick Disk.
SVI 328 PRECURSOR DEL ESTANDAR
Núm. 12
SVI-328: precursor del es-
tándar. Aplicaciones: siste-
mas de ecuaciones II. Códi-
Máquina. Test: Toshiba
-20.
DE EJEMPLARES ATRASADOS
ESTOS SON LOS EJEMPLARES DE MSX MAGAZINE APARECIDOS EN EL MERCADO
CON UN RESUMEN DE SU CONTENIDO
Núm. 13
VG-8235, la I generación en
marcha. SVI-31 8/328: aná-
lisis interno. Test: Yamaha
CX5M y CX5M II. BASIC: las
variables alfanuméricas. Las
matemáticas y el ordenador.
Test:
Mitsubishi
MLGlyMlG3
Instrucciones
ocurtos
delZ80
programo*,
software
ROBOTS,
Núm. 17
Robots, trabajadores infati-
gables. Cómo ahorrar me-
moria. Test: Mitsubishi ML-
G1 y ML-G3. Instrucciones
ocultas del Z-80. El proce-
sador de vido del SVI-31 8/
328. Desensamblador.
Núm. 14
Controle sus errores de pro-
gramación. Aplicaciones
matemáticas: interpolación.
Memoria de Vídeo: los spri-
tes. Código Máquina: los re-
gistros dobles.
LOS DISKETTIS AL DESCUI
Núm. 18
Los diskettes al descubierto.
El BIOS de la memoria de
vídeo. Test: interface RS-
232C. Unidad de discos ML-
F30D. Utilización de fiche-
ros. SVI-31 8/328, SCREEN
2.
Núm. 15
¿Porqué es lento el BASIC?
El procesador de vídeo del
SVI-31 8/328. Test: Sony
HB-500P. BASIC: los dia-
gramas de flujo. Los modos
de pantalla.
Núm. 19
Sistemas de comunicación.
Test: Philips VG-8250. Figu-
ras y movimiento. SVI 318/
328: Rutinas de la ROM.
Aplicación: Estadística.
Núm. 16
Dos gigantes frente a frente.
Test: VC-10, un oscilosco-
pio muy especial. Síntesis
de voz. Utilidades de la RAM.
Memoria de video: instruc-
ciones VPEED y VPOKE.
Núm. 20
GML: El lenguaje Gráfico.
Sprites, un programa para
MSX II. El generador de so-
nido del SVI 318/328. Códi-
go Máquina, operaciones
aritméticas. BASIC, intro-
ducción de datos.
PARA HACER SU PEDIDO, RELLENE ESTE CUPON, HOY MISMO Y ENVIELO A MSX MAGAZINE
BRAVO MURILLO, 377. Tel. 7337969 - 28020 MADRID
Ruego me envien los siguientes números atrasados de MSX
al precio de 300 ptas. cada uno. Cuyo importe abonare:
□ POR CHEQUE □ CONTRA REEMBOLSO □ CON MI TARJETA DE CREDITO
□ AMERICAN EXPRESS □ VISA □ INTERBANK
I
1
Número de mi tarjeta
Fecha de caducidad
NOMBRE
DIRECCION
POBLACION
PROVINCIA
1 1 I 1 1 I I 1
. CP.
SOFTWARE
PROGRAMA:
THE WALL
TIPO: JUEGO
DISTRIBUIDOR: ERBE
FORMATO: CASSETTE
Un juego de creación nacio-
nal. Con esto no queda dicho to-
do, sobre todo para aquellos
que son un poco derrotistas.
El software español, cada día
está teniendo más repercusión
en el mercado, mejorando las
técnicas de realización, crean-
do pluralidad de temas y sobre
todo innovando, ya que cuando
veáis este programa podréis
comprobar que el parecido con
una realidad ya existente es pu-
ra coincidencia. Un programa
hecho a propósito para dejar
una señuela en el mercado, mar-
cando estilo.
El juego, no es una aventura,
ni un comecocos, ni tampoco un
juego de adivinanzas, no se po-
dría enmarcar en ningún tipo de
programas ya conocido, es algo
diferente.
El escenario la Tierra, más
concretamente la superficie
marítima y un extraño laberinto
a modo de camino por el que
debes ir sorteando una serie de
elementos extraños que apare-
cen a tu paso y los cuales te irán
quitando vidas.
Eres un pequeño extraterres-
tre que has aterrizado aquí, en la
Tierra, no conoces nada de ella
y todo te parece extraño. Verás
una serie de objetos destellan-
tes a tu paso por el puente plata-
forma que debes recoger ya
que te proporcionarán puntos y
te permitirán continuar la aven-
tura, pero no os vamos a referir
más del juego en sí para que
aquellos neófitos que dudan,
vean y comprueben por sí mis-
mos.
Realización del programa, sin
duda es el primer paso y hay
que tenerlo en cuenta porque
viendo la inmensidad de pro-
gramas de todas clases que sur-
can el mercado, la valentía que-
da sustituida por la osadía de
enfrentarse a los más «fuertes».
Los colores que se nos presen-
tan aún son un poco tenues para
el colorido que estamos acos-
tumbrados a ver, pues muchos
programas complementan las
sensaciones visuales referido al
color a las sensaciones físicas
de vértigo, miedo o velocidad.
Azules suaves, magentas, gri-
ses, marrones y negros, último
color con el que podréis visuali-
zar a vuestro extraterrestre for-
man el conjunto a resaltar.
La perspectiva, continua en
todo el juego, nos da una sensa-
ción de profundidad, ya que
hasta ahora descartando a los
juegos de arcade, donde los
sprites más que eso, parecen
dibujos, estábamos acostum-
brados a ver el juego de frente o
desde arriba pero nunca en una
proyección hacia lo infinito por
expresarlo de alguna forma.
Esto a la vez que una innova-
ción también es un poco pesado
porque si tenemos la suerte de
tener un joystick no existirá nin-
gún problema, pero en caso de
utilizar los cursores nos será un
poco más difícil guiar a nuestro
amigo, pues siempre que que-
ramos ir en diagonal (muchas
veces obligado), tendremos
que pulsar dos teclas a la vez
creando un poco de confusión.
El juego no está acompañado
de música, tan sólo un pequeño
sonido que nos indica que he-
mos cogido un corazón, el cual
ñor facilitará puntos. Destacar la
lentitud de movimientos para
poder sortear todos los elemen-
tos con los que nos encontra-
mos, pero aún así es proponér-
selo.
Una presentación excelente
«en portada», y un desarrollo di-
vertido, poco a poco...
PUNTUACION:
PRESENTACION: 5
CLARIDAD: 4
RAPIDEZ: 6
ADICCION: 6
20 MSX
PROG1
STORM
TIPO: JUEGO
DISTRIBUIDOR: DRO
SOFT
FORMATO: CASSETTE
Los diversos tipos de juegos
de aventuras y más concreta-
mente de «arcade», han podido
aumentar sus filas con numero-
sos ejemplares, para los más va-
riados gustos. Storm, es uno
de este tipo de juegos que
entra a formar parte del conjun-
to. Su objetivo, principalmente
el de conseguir puntos y más
puntos hasta conseguir batir el
récord, junto a esto finalizar la
aventura que siempre suele ser
difícil de conseguir, ya que las
numerosas pantallas que lo for-
man, los inconvenientes con los
que nos encontramos y el tiem-
po, están en contra nuestra.
Storm es un hábil guerrero,
pudiéramos situarlo, en la épo-
ca Wikinga, el cual ha sido cap-
turado junto con su mujer por el
malvado Una Cun, demonio de
las grutas al servicio del malva-
do The Fear.
Escandinavia siempre ha sido
lugar de fantásticos relatos de
aventuras donde los dioses de
gran poder, han actuado de
forma omnipotente frente a los
humanos, es por ello que tu ene-
migo no sea un simple mortal al
que puedas atacar y vencer, si-
no que te verás rodeado de los
más raros elementos vivientes y
de las mas sofisticadas trampas
para que no puedas volver a tu
libertad.
Te encontrarás en las caver-
nas o grutas del lago, debajo de
él, y tu esposa Corrine, también
se encuentra en alguna parte
del siniestro lugar, es por ello
que no sólo debes luchar, sino
intentar salvar a tu esposa por-
que infinitos son los peligros
que corre.
Una Cun, en cierto modo, no
es tan malvado, más que nada
quiere probarte y a modo de je-
roglífico te irá dando la solución
para salvarte. Tú no eres el úni-
co morador de esas grutas an-
tes que tú, un mago fue encerra-
do allí también y ha dejado una
serie de mensajes escritos que
debes encontrar para conse-
guir saltar a la 3 Dimensión, sólo
así podrás salvarte. ¿Qué peli-
gros aparecerán a tu paso?
Criaturas indescriptibles y la
impotencia de no poder hacer
nada contra ellas. Cangrejos,
serpientes y feroces moluscos
que te atraparán en sus redes y
que no te dejarán moverte, obli-
gándote así a terminar el juego.
Ten mucho cuidado por donde
andas ya que muchos pasadizos
dan a habitaciones cerradas en
las que puedes quedar atrapa-
do si no logras batir a todos los
enemigos. Intenta llegar a la
ventana para saltar a la 3 Dimen-
sión y utiliza constantemente tus
dos armas: una máscara con la
que te protegerás de los ata-
ques enemigos y tu valiosa es-
pada la cual pasó de genera-
ción en generación y sólo tiene
poder cuando se usa para de-
fender a alguien.
Es un juego entretenido pero
a su vez un poco cansado ya que
la forma en que se nos presenta
la forma de efectuar los movi-
mientos es muy difícil, usare-
mos las teclas para disparar,
para dirigir a Storm, y cambiar-
nos la máscara cuando lo nece-
sitemos, pero la proyección en
que se nos presenta el juego al
ser desde arriba a modo de cro-
quis no nos deja actuar con de-
masiada rapidez, hasta que con-
seguimos la orientación ade-
cuada.
Los sprites y colores son muy
sencillos cayendo un poco en la
confusión al no saber contra qué
estamos luchando, los colores
muy intensos pero poco defini-
dos.
PUNTUACION:
PRESENTACION: 6
CLARIDAD: 6
RAPIDEZ: 5
ADICCION: 5
MSX 21
SOFTWARE
PROGRAMA: GAUNTLET
TIPO: JUEGO
DISTRIBUIDOR: ERBE
FORMATO: CASSETTE
Las numerosasd casas de jue-
gos para ordenador marcan ca-
da día el camino a seguir en las
preferencias en cierto modo de
los usuarios es así, que en un
primer momento los famosos
comecocos hicieron su hit y hoy
en día sean los juegos de arca-
de entre otros. Gauntlet, es un
sorprendente juego de ERBE,
puesto que estos últimos meses
ERBE va de sorpresas...
El escenario del juego se si-
túa en la Edad Media donde el
encanto y la magia se hacen
sentir, héroes, princesas y ma-
gos, entre ellos Merlín, serán
los protagonistas del juego.
Un impenetrable castillo con
mazmorras y tres niveles de jue-
go, son los objetivos a cumplir a
medida que consigas enfrentar-
te a los peligros que se avenci-
nan y los destruyas.
Thor, el guerrero y Thira,
vuestros héroes irán tan solo
protegidos por un escudo, que
elimina el 20% de los golpes, un
poder de disparo, el doble de lo
normal y un poder mágico que
daña a la mayoría de los mons-
truos, pero no a los generado-
res. Los generadores están si-
tuados en las mazmorras del
castillo, y de ellos salen los
monstruos que no es permitirán
continuar la aventura, es por
ello que debáis antes que nada
destruir los generadores. Hay
tres tipos, cada uno más poten-
te, por eso conviene ir des-
truyendo primero los que os
puedan hacer más daño. No sólo
serán monstruos, sino fantas-
mas, soldados guardianes del
castillo, demonios, lanzadores,
brujos, etc.
Cada uno irá hacia ti y te gol-
peará con su mazo o arma de-
jándote sin sentido por unos mi-
nutos, debes tener cuidado con
los fantasmas, no dejes que se te
acerquen pues su veneno es
mortal. Los brujos, por el con-
trario, tan sólo intentan despis-
tarte ya que cuando les atacas
desaparecen, pero siguen ahí. Y
por fin la muerte, el peor de to-
dos los enemigos que encontra-
rás a tu paso, te quitará la salud
y doscientos puntos, es por ello
que sólo la podrás batir con ma-
gia.
Como veréis a lo largo del
transcurso de la aventura, ésta
se va haciendo más interesante
y mágica, en este momento le
toca el turno a Merlín, a lo largo
del recorrido por las mazmorras
os encontraréis con numerosos
elementos que os pueden ayu-
dar, las pócimas, debes reco-
gerlas y usarlas y sobre todo las
pócimas especiales, que te faci-
litarán armaduras, escudos, po-
tencia extra, velocidad en el ti-
ro, etc.
Fíjate en todo lo que encuen-
tres a tu paso y no dejes que te
encierren en ningún laberinto,
pues las mazmorras son muy os-
curas y el olvido se encuentra
encerrado en ellas.
El juego en sí es muy entrete-
nido y muy dinámico, es por ello
que antes de empezar te con-
venga leerte las instrucciones
para que no dejes pasar ningún
elemento interesante.
La realización es buena y los
gráficos también, ya que son
muchos los elementos que apa-
recen y por tanto es muy enrete-
nido. El color te facilita mucho
los objetivos que debes conse-
guir. Elije el personaje con el
que desees jugar y mantén pul-
sado el botón de disparo, tan só-
lo suéltalo para moverte, y pro-
cura comer para no perder fuer-
zas, adelante.
PUNTUACION:
PRESENTACION: 2
CLARIDAD: 8
RAPIDEZ: 8
ADICCION: 7
22 MSX
PROGRAMA: DONKEY
KONG
DISTRIBUIDOR: ERBE
TIPO: JUEGO
FORMATO: CASSETTE
En su momento fue uno de los
juegos más populares del mer-
cado. Lo podíamos encontrar en
todos los bares y salas de juego.
Se trata del Donkey Kong, una
versión animada y entretenida
de King-Kong, sin edificios, ni
aviones, pero con una chica a
rescatar, como en la «peli».
Un gigantesco gorila ha rap-
tado a la chica y se la ha llevado
a la azotea de un edificio. Allí, se
ha hecho dueño y señor de la zo-
na, no permitiendo que se acer-
que nadie. Tu deber como hé-
roe del juego es rescatarla sana
y salva de las garras del vil «ani-
malito», por lo que tendrás que
subir por los pasillos y escale-
ras, hasta llegar a ella.
A simple vista parece senci-
llo, pero nada más lejos de la
realidad, pues al contrario que
en la película, Donkey Kong nos
irá lanzando desde las alturas
barriles, cajas, etc., todo lo que
encuentre a mano. Sin embargo,
nosotros también tenemos
nuestras armas y la posibilidad
de esquivar todos lo que nos
lance. Para ello, sólo tendremos
que saltar y recoger algunos ob-
jetos que, a la larga se mostra-
rán sumamente útiles. Por ejem-
plo, hay un martillo con el que
podremos romper los barriles,
en caso de que no tengamos
tiempo de saltar, aunque esta úl-
tima medida es mucho más
práctica que arriesgarse a rom-
per barriles. Estos irán bajando
por los pasilllos y algunos lo ha-
rán por las escaleras, esto nos
lleva a andar con cuidado, vista
y sentido de la anticipación,
pues cada golpe de barril nos
dejará atontado y nos quitará
una vida. Hay que llegar hasta
arriba lo más pronto posible,
pues si tardamos mucho, se in-
crementarán el número de ba-
rriles y elementos a esquivar.
De cualquier manera, hay una
forma de evitar que los barriles
no bajen por la escalera que es-
tá subiendo, y consiste en llegar
hasta el mismo borde de ésta y
sacar la mano, de esta forma el
barril continuará por el pasillo
sin bajar por donde estás.
Cada pantalla tiene su nivel
de dificultad, siendo más difícil
cuanto más niveles pasemos.
Los gráficos y la animación
está muy bien lograda, dando la
sensación de estar frente a la
máquina original.
Particularmente, creemos
que es el juego original lanzado
por Nintendo en 1981, lo que
significa que a pesar de los años
transcurridos en el mercado,
puede decirse que sigue en bo-
ga. Es el mismo caso que el de
la rana que atraviesa la autopis-
ta y un río, un juego «antiguo»,
que lo podemos catalogar como
el eterno clásico, siempre en la
brecha y muy adictivo, pues hay
que tener los reflejos a flor de
piel.
PUNTUACION:
PRESENTACION: 8
CLARIDAD: 8
RAPIDEZ: 8
ADICCION: 9
MSX 23
Music
Module
II MUSIC MODULE de PHI-
jLIPS es uno de los sistemas
Jmás completos, teniendo
en cuenta su bajo coste, creado
hasta ahora para MSX. Incorpora
tres módulos distintos:
Un sintetizador de FM. i 1
Un muestreador.
Un interface MIDI.
Otros de los cartuchos existen-
tes en el mercado son el módulo
sintetizador de FM (con MIDI) de
YAMAHA, y el módulo de TOSHI-
BA (que no incluye MIDI). Junto a
ellos comienzan a salir numero-
sos interface MIDI con programas
musicales: JVC, MIDITRACKPER-
FORMER, etc.
El sintetizador en FM
Aunque no descartamos la idea
de que PHILIPS saque nuevos
programas de control para el chip
sintetizador del MUSIC MODULE,
el software de esta versión es bas-
tante sencillo. El sintetizador se li-
mita a reproducir una serie de
acordes y bajos pregrabados. Ca-
1
... p ^
24 MSX
da canción está compuesta por
seis líneas: Melodía, Acompaña-
miento (en cuatro líneas distintas)
y Bajo. En ellas se puede seleccio-
nar un sonido de entre sesenta y el
volumen. En la sección rítmica se
encuentra una pequeña caja de
ritmos con diferentes patrones
preestablecidos que serán la base
de cualquier canción. A las opera-
ciones explicadas hasta ahora se
accede a través de tres menús: el
Sounds (selección de sonidos),
Drums (selección de la base rítmi-
ca), y el Volume Control (selección
del volumen de cada línea).
Dos menús más completan la
parte del sintetizador. Por un lado,
se encuentra el Melody, que es el
punto de acceso del MUSIC MO-
MSX 25
test
DULE a la escritura de música.
Con él escribiremos la melodía
que acompaña a la base armóni-
ca pregrabada. Por supuesto, una
vez grabada podremos escoger
con qué sonido queremos oírla y a
qué volumen. Por otra parte está el
menú Ex-ternal. Con él aparece la
opción de conectar un teclado dis-
parador externo en el MUSIC MO-
DULE, a través de un multiconec-
tor del cartucho.
El chip sintetizador está fabrica-
do por YAMAHA y se basa en la
técnica de síntesis por FM (modu-
lación en frecuencia). Es sin duda
una de las técnicas más moder-
nas de síntesis, aunque lleve ya al-
gunos años en el mercado. Se in-
trodujo fundamentalmente a tra-
vés de la serie DX de YAMAHA a
principióos de los 80. Aunque PHI-
LIPS no hace ninguna mención,
suponemos que el chip incluye
cuatro operadores y ocho algorit-
mos, configuración típica de los
pequeños sistemas de síntesis de
YAMAHA. Cada operador es un os-
cilador sinusoidal simple, que
puede utilizarse como portador
(oscilador que escuchamos) o
modulador (de frecuencia, oscila-
dor que modula a los portadores u
otros moduladores). Los algorit-
mos constituyen distintos tipos de
combinaciones entre los operado-
res.
Cada asociación es especial-
mente interesante para generar
una estructura armónica que se
ajuste a un sonido. Se puede pa-
sar desde un algoritmo de modu-
lación en frecuencia puro (cada
operador modula al siguiente has-
ta el último que es el portador) a
uno de síntesis aditiva (todos los
operadores son portadores). Ca-
da operador lleva un generador
de envolventes que permite con-
trolar la evolución en amplitud en
el tiempo.
El muestreador
Se trata de un pequeño mues-
treador de 8 bits de resolución. La
velocidad máxima de muestreo es
de 1 6 KHz, por lo que la frecuencia
máxima muestreable es de 8 KHz.
Puede almacenar un bloque de
4.6 segundos o cuatro de 1 . 1 5 se-
gundos. La memoria de muestreo
es de 32 K aproximadamente (de-
pende del ordenador utilizado). Lo
más interesante es que las mues-
tras tomadas pueden ser incluidas
como un sonido más en cualquie-
ra de las líneas antes citadas. Se
puede tomar la muestra, bien a
través de un micrófono incorpora-
do o bien a través de una entrada
exterior. El muestreador es utiliza-
do para producir eco y harmoni-
zer.
El eco consiste simplemente en
almacenar las muestras en me-
moria y repetirlas transcurrido un
tiempo dado. Quizá el gran fallo
del eco sea el no poseer un control
de realimentación que serviría pa-
ra producir múltiples repeticiones.
El harmonizer es un efecto que
consiste en tomar muestras a una
velocidad distinta a la utilizada pa-
ra reproducirlas, con lo cual se
produce un efecto de desafina-
ción. Si la velocidad de lectura es
mucho mayor que la de graba-
ción, nos parecerá oir a los pitufos,
si es mucho menos quedará co-
mo la voz de un disco reproducida
a velocidad más lenta, si la veloci-
dad es muy próxima se generará
un efecto de chorus (coro).
El dispositivo de muestreo fun-
ciona mediante dos convertidores.
El primero se trataba de un con-
vertidor A/D (Analógico Digital),
que pasa la señal eléctrica a infor-
mación digital almacenable en
memoria. El segundo es un con-
vertidor D/A (Digital Analógico)
que desempeña el papel opuesto
una vez tratada la señal digital.
El interface MIDI
El MUSIC MODULE posee un
completo interface MIDI (Musical
Instrument Digital Interface). Con
él se puede controlar cualquier
sintetizador con MIDI a través de
MIDI OUT, o disparar el sintetiza-
dor del módulo vía MIDI IN. La sali-
da MIDI THRU reproducirá fiel-
mente los datos recibidos en MIDI
IN para que el sintetizador externo
pueda controlar otros teclados. El
interface MIDI es el menos expli-
cado en el manual, y quedan algu-
nos puntos poco claros. Con otras
versiones de software es posible
que sus prestaciones se vean me-
joradas.
Menú de disco y cinta
Queda un sólo menú por co-
mentar: el de manejo de disco y
cinta. Dicho menú nos permite al-
macenar y leer la melodía graba-
da y/o las muestras realizadas con
el MUSIC MODULE El propio mó-
duloi al ser encendido detectará la
existencia o no de unidad de dis-
co.
Conclusión
Con el MUSIC MODULE de PHI-
LIPS podremos ampliar extraordi-
nariamente las posibilidades de
generación de sonidos de nuestro
ordenador. Resaltar su fácil ma-
nejo (con el cursor, joystick o ra-
tón) asistido por iconos, y sus co-
nexiones para un equipo de alta fi-
delidad. Estos nuevos cartuchos
para MSX convierten al standard
en los «ordenadores más capaci-
tados musicalmente» por sí mis-
mos.
José Luis Crespo Dueñas
26 MSX
PARTICI
NUESTRO
CONCURSO
M SX Magazine premiará cada mes Jos
programas que nos hagan llegar nuestros
lectores.
Para participar en este concurso
abierto, todo aficionado a los ordenado
con este estándar deberá hacer llegar
redacción de la revista el listado, un
cassette y un texto explicativo. ,;Pv,^
ntre todos los programas que ^
recibamos cada mes, serán selecíror^os
para su publicación aquellos que r^ún^í^r-^^
los siguientes criterios: /
— Originalidad de la aplicación
— Simplicidad del método de '
programación.
La única condición para participar en
el concurso será que los programas no
hayan sido publicados previamente en v
ninguna revista. y J
I
[_ nviar vuestros programas a: MSX Magazirje
C/Bravo Murillo, 377 - 5." A 28020 MADRID
— -
/
Juegos:
decisiones
y condiciones
dor
xisten varios sistemas de
programación para forzar
las respuestas del ordena-
por medio de instrucciones
condicionales. Desde una simple
paridad (los pares MSX y los impa-
res nosotros o viceversa), hasta un
encadenamiento de condiciones
similar a las empleadas en «inteli-
gencia artificial».
Las cadenas progresan o no, si
se cumplen las condiciones pro-
puestas en los respectivos desa-
rrollos o sus bifurcaciones:
FICHAS
Pares
Mayor que o
Blancas
Impares
Menor
Negras
Bifurcación:
Par mayor blanca
Impar mayor blanca
Par menor blanca
Par mayor blanca
Impar menor blanca
Impar menor negra
que representan sólo tres posibili-
dades. Figuráos la ingente canti-
dad de combinaciones en el caso
de un juego como el ajedrez.
No empecéis por una previsión
excesiva de posibilidades que por
su complejidad requieren una
mayor preparación y disposición
de tiempo, conformándonos con
un estudio básico para juegos in-
teractivos, que por otro lado no re-
quieran una excesiva velocidad,
ya que en este caso precisaríamos
de un lenguaje más próximo al or-
denador tal como ensamblador y
ciñéndose a rutinas pre-coleccio-
nadas.
En primer lugar resumamos los
símbolos más utilizados y los ope-
radores lógicos.
Para remitir una serie de casos
a las correspondientes posiciones
vamos a necesitar:
= <
+ -
/
cuyo significado ya se conoce.
Téngase en cuenta que el signo +
es el único utilizable en cadenas
alfanuméricas y 1 , 2, 3, 4, 5, 6, 7, 8,
9 los símbolos numéricos existen-
tes de un sólo dígito para que di-
chas cadenas lo puedan interme-
diar o totalmente interpretar como
tal.
ORyAND
El sentido castellano de que una
cosa u objeto puede ser blanco o
negro determina una exclusión,
cuando en realidad en una línea
de programa:
10 IF C=2 OR C=5 THEN PRINT
"VALE"
tanto si C=2 como si C=5 se escri-
be VALE. Es decir, no parece ex-
28 MSX
cluir entre sí los dos valores aun-
que sí lo haga con respecto al res-
to de valores posibles.
Por la misma razón el sentido de
y se refiere a todos los casos, lo
cual es representado más cerca
de este sentido:
20 IF C=2 AND D=5 THEN...
tanto si C es igual a 2 como si D es
igual a 5 se cumple la condición.
Pero debe observarse la exclusión
implícita de C igual a 5 por su im-
posibilidad matemática. AMBAS
deben cumplirse para la validez.
Así OR, en las manifestaciones
condicionales, requiere la validez
de todas y cada una de las situa-
ciones, por separado. AND asocia
el cumplimiento de todas y cada
una, juntas, de las condiciones.
OR = esta condición o esta...
AND = esta condición y esta...
Condiciones
El conjunto de operadores lógi-
cos, sin los suficientes conoci-
mientos de la famosa álgebra de
Boole, resulta muy propicio a con-
fundir. Por otro lado, para progra-
mar en situaciones condicionales
es imprescindible contar con ellos.
Nuestro propósito no es simple-
mente su enumeración y clasifica-
ción en tablas apropiadas, que de
ello ya se ocupan textos más doc-
tos; sino colocarlos en programas
ejemplo para que pueda enten-
derse y comprobarse su aplica-
ción en términos reales.
Necesitamos, eso sí, un par de
ideas básicas:
t. Repartir objetos aleatoria-
mente.
2. Condicionar la carga o «me-
moria» en situaciones distintas.
Para obtener la máxima proxi-
midad al pseudoaleatorio RND
hay que utilizar RND(— TIME) en
una línea anterior. Como en los
procesos internos del microproce-
sador del MSX se emplea un reloj
nada mejor que emplear este pro-
cedimiento para acceder a un sor-
teo eficaz. Por ello al usar números
de este tipo restamos de la serie
numérica (RND) el tiempo (-TI-
ME) ; ya que el reloj en cada instan-
te marca un punto siempre distin-
to, la serie será también distinta
con lo cual evitamos la repetición
del mismo conjunto de números
aleatorios cada vez: j
MSX 29
basi
íc
NA = INT(RND(-TIME))*40
cuya ejecución dará un número
entre 1 y 40 por la situación de
producto de una conversión de
entero (INT).
Ahora bien, como esto no limita
la cadencia pueden repetirse los
mismos números más de una vez,
con lo cual no nos sirve para los
casos generales de cartas de la
baraja o fichas de juegos.
Para ello debemos realizar al-
gún artilugio como el del siguiente
ejemplo:
MODELO C-1
10 DEFINT l-K,X: Z=RND(— TIME)
20 DIM K(40)
30 FOR 1=1 TO 40
40 X=INT(RND(1)40)+1
50 FOR J=1 TO I
60 IF K(J)=X THEN 40
70 NEXT
80 K(I)=X: PRINT K(l); tt ";
90 NEXT
10. Se definen como enteros I, J
y K suprimiendo la repetición posi-
ble del aleatorio por medio de Z.
20. Previsión de almacenaje pa-
ra K1/40 (40 elementos distintos).
30-40 y 80-90. Bucles para relle-
no de K.
50/70. Evitan la repetición posi-
ble. (Si K=número ya extraído sal-
tar a la línea 40).
La primera parte de este senci-
llo modelo debe leerse y com-
prenderse completamente y com-
probar que la variable dimensio-
nada K(1 (40)) = a los 40 números
distintos y cargados de modo
aleatorio.
Para probarlo se ha introducido
un PRINT en la segunda parte de
la líne 80. Debe suprimirse cuando
se emplee este modelo como una
subrutina.
La duración aproximada máxi-
ma de este ciclo es de unos 15".
La formulación general de las
condiciones consta del siguiente
algoritmo básico:
IF THEN ELSE
(Condición) (Ejecución) Si no se
Si se cumple la CUMPLE la
condición 1. a condición
anterior
Cada línea que dé comienzo
por IF condiciona a lo que esta
línea se refiera. Por lo tanto si no
existe ELSE y no se cumple la con-
dición prevista salta a la línea si-
guiente. Es decir, la condición re-
lativa que se indica después de IF
se relaciona estrictamente con la
acción después de THEN si se
cumple la primera se realizará lo
marcado en la segunda y si no, si-
gue la línea siguiente o se tiene en
cuenta de la misma forma la de
ELSE si es que existe. La línea 60
del modelo anterior indica:
Si K(l) es igual a X ir a la línea
cuarenta (aunque no se precise
con GOTO). Como K(l) está en el
interior de un bucle esta condición
se probará tantas veces como in-
dica I.
MODELO D - 1
II Z=RND (-TIME)
21 Al=" ABCDEF6HIJKLHNÑ0PQRSTUVK
3i Z$=A*:y$= BB
41 FOR 1=41 TO 1 STEP -1
5i S=INT(RND(l)t(I-im2
68 y$=y$+HID$(Z$,S,l)
71 Z$=rtID$(Z$,l,S-mr1ID$(Zf f S+l
,41)
88 NEXT
!°HZF/* a:T'IC-FNfÜ6RXIUhÍ$SDffi+rt a J
U/V*ZQBfcSK*PEL ^ 0 ¿B^í*GVÜ*üZhTIJ¡<
-iFPfcVER/SNNGCrllfL k ti *W) a $m¿
ShFP'.USVQKJ I HC/G-+ÜUTE* *Lt D ! * n 5*i
t*ZRI*HTPUG* I -fF?DC€VWQN/J#6SCIí;
Este modelo muestra otra forma
de repartir objetos con signos pre-
fijados como complemento al
apartado 1 que hemos propuesto.
NOTA: No es posible determinar
los caracteres coincidentes de las
diversas marcas de impresoras,
por ello en caso de no ser iguales
sustituirlos convenientemente.
10 Carga en la variable Z del
proceso aleatorio.
20 Cadena de 40 variables o
caracteres, alfabéticos más un
complemento vario.
30 Cambio para archivo mo-
mentáneo de la variable principal
y asignación de vacío para Y$ pa-
ra mayor seguridad.
40/80 Bucle para ordenación
aleatoria evitando la repetición de
los cuarenta caracteres. En la línea
20 se definen cuarenta objetos,
por ejemplo, naipes, cada uno es-
tará representado siempre por un
sólo carácter y hemos simulado la
acción de barajar. Más o menos
así:
CABALLO
OROS
COPAS
ESPADAS
BASTOS
AS
A
K
T
□
DOS
B
L
U
TRES
c
M
V
CUATRO
D
N
w
n
CINCO
E
Ñ
X
$
SEIS
F
O
Y
%
SIETE
G
P
z
&
SOTA
H
Q
■
/
CABALLO
1
R
REY
J
S
♦
+
El método es ligeramente varia-
ble cuando no coincida el número
de naipes, fichas, dados, etc..
Véase el ejemplo de la ejecu-
ción repetida en la parte inferior
del programa y ensáyese en el
MSX propio.
30 MSX
Las diferencias de tiempo en
cada caso deben tenerse en
cuenta en el método elegido.
Como ya hemos advertido en el
caso de la impresora, cada mode-
lo o marca de MSX tiene ligeras
variantes con respecto al que yo
utilizo, por ello cambiar los carac-
teres según convenga.
Otro ejemplo de reparto aleato-
rio puede ser el indicado en el mo-
delo F - 1 , para 28 objetos, que po-
drían ser las 28 fichas de un domi-
nó normal y realizado por medio
del proceso de lectura en posicio-
nes predefinidas, o sea, DATAS:
MODELO F - 1
10 Z=RND(— TIME)
20 DIM T(28),PS(28)
30 FORN1T028
40 X=INT(RND(1)*28)+1
50 IFT(X)=1THEN40
60 T(X)=1
70 READPS(X)
80 NEXT
90 DATA 77
100 DATA 10,11,12,13,14,15,16
110 DATA 20,22,23,24,25,26
120 DATA 30,33,34,35,36
130 DATA 40,44,45,46
140 DATA 50,55,56
150 daTA 60,66
160 FORI=1 TO 28
170 PRINTPS(I);
180 NEXT
10. Variable de tiempo ya ex-
puesta anteriormente para regular
RND.
20. Asignación de matrices para
tránsito y por sorteo.
30/80. Creación de 28 números
aleatorios para ordenar por sorteo
(PS) las citadas 28 fichas leyéndo-
los de las correspondientes datas
según una especie reparto ante-
rior a la partida misma.
90/150. Datos de todas y cada
una de las fichas consideradas en
los valores de sus dos partes o semi-
caras, representadas por un nú-
mero que posteriormente será fá-
cil de manejar. Las líneas de DATA
se han colocado aquí de modo
que sean inteligibles rápidamente,
pero se pueden colocar de otra
forma para ahorrar memoria. La
blanca doble está representada
de tal modo que pueda ser tratada
mejor que si fuera 00. Vale por
ello 77.
160/180. Inscripción en la pan-
talla de los resultados después de
cada RUN, o sea, después de ca-
da ejecución. Realícense varias
pruebas para familiarizarse con
esta especie de subrutina.
Cada condición aceptada o no,
sugiere un paso más o requiere
una información del tipo:
Si se cumple la condición X>Y
saltar a Z
IF X>Y THEN GOTO Z
que en este caso puede incluso
suprimirse el GOTO.
Si X=B volver la variable B a 0.
IF X=B THEN B=0
Como vemos, cada caso pre-
senta las distintas opciones según
la condición que en ese instante
se precise estableciendo poco a
poco mayores posibilidades. Es
muy conveniente, que si bien la li-
bertad debe presidir los condicio-
nantes, la llegar a la ejecución es
necesario efectuar cuantas prue-
bas permitan asegurar lo que he-
mos diseñado.
Si el número de caracteres de
una cadena o variable alfanumén-
ca A$ es mayor que otra tal como
la B$, realizar una tercera con la
suma de ambas, en el orden ab; si
no en el orden ba:
IF LEN(A$)>LEN(B$) THEN C$=
A$ + B$ ELSE C$=B$ + A$
lo cual va aumentando progresi-
vamente su complejidad.
Como medio adecuado para
realizar una buena sentencia con-
dicional también llamada algorit-
mo en su constitución completa,
deben plantearse en primer lugar
como si fueran frases o razona-
mientos gramaticales. En esta fase
se pueden ir solventando los pri-
meros errores. Posteriormente se
traslada la frase ya bien planteada
a un diagrama posicional que de-
be concordar con el sistema
adoptado por el ordenador y que
formará el esquema básico preli-
minar que por último se trasladará
al programa en líneas precisas,
que también deben repararse an-
tes de darlas como definitivas en
sentido «gramatical» y posterior-
mente en el precódigo BASIC. To-
do el tiempo empleado en estas
tareas por muy lento y pesado que
resulte, se gana con seguridad
para la segunda fase, cuando el
programa presentaría fallos, que a
veces cuestan mucho más tiempo
y son más difíciles de localizar.
Si existen varias líneas condi-
cionales debe preveerse que pue-
den cumplirse varias según las
condiciones previstas. Por ello en
las condicionales exclusivas hay
que poner un salto adecuado o si-
tuarlas al final de todas las demás.
Como otro ejemplo de este te-
ma veamos:
MODELO G - 1
10 X=INT(RND(-TIME)*9)+1
20 INPUT M NUMERO 1/9";Y
30 PRINP'MI NUMERO ALEATO
RIO ES"X
40 Z=X+Y
50 PRINFSU NUMERO'T' Y EL
MIO"X"SUMAN"X+Y
60 IF INT(Z/2);Z/2 THEN PRINT
"PAR: UD. GANA":PJ=PJ+1
70 IF INT(Z/2)oZ/2 THEN
PRINriMPAR: GANO":PO=PO+1
80 PRINP'Marcador UD!="PJ"
YO= u PO
90 PRINT
100 IFPO+PJ=>12 THEN 110
MSX 31
el mejor
Rom
GARANDA
DE CARGA
DROME
Entretanto en DROME, un Super-ordenador, debes encontrar y elimi-
nar los sofisticados sistemas de defensa y supervivencia.
Has de elegir uno de los cuatro sectores que constituyen los mecanis-
mos de defensa de esta terrorífica máquina.
Un atractivo juego de acción, donde se pone a prueba la capacidad
de la máquina y del jugador.
Precio de venta 875 ptas. (IVA incluido)
FLIGHT DECK
Sienta la emoción del golfo de Sidra en casa.
FLIGHT DECK es un juego de estrategia y habilidiad en el que tendrás
que desmantelar las bases enemigas.
Al mando de un portaaviones donde dispones de 1 0 unidades de
combate... y poco tiempo.
Precio de venta 875 ptas. (IVA incluido)
"¡stoTpRO^^odos
MC-ATTACK
Ayuda a Fredy, el Rey de la Hamburguesa a preparar el suculento man-
jar que hace las delicias de los comensales.
Ten cuidado con las salchichas grasientas y los huevos escurridizos que
intentarán arruinar tu exquisito plato.
Defínete con la pimienta y procura hacer el mejor número de hambur-
guesas posible.
... Buen provecho.
Precio de venta 750 ptas. (IVA incluido)
n¿3
MacAttack
£ '-■■vía
COflFUSED?
MSX
SPACE RESCUE
mfotiis.s.3.
CONFUSED?
Es el puzzle electrónico.
El objeto del juego es resolver 1 0 puzzles con distinto número de pie-
zas, a elegir, pero todas... MOVIENDOSE.
Pon a prueba tu inteligencia y capacidad de deducción para solucio-
nar algunos de estos entretenidos rompecabezas.
Precio de venta 875 ptas. (IVA incluido)
NORTH SEA HELICOPTER
Una explosión en una plataforma en el mar del Norte arroja a bs
hombres a un destino incierto...
Empieza una carrera contrareloj para salvarles de su fatal situación.
Tienes que convertirte en un piloto experimentado para mantener el
control del helicóptero... El tiempo empeora.
¿Crees que cumplirás la misión?
Precio de venta 875 ptas. (IVA incluido)
SPACE RESCUE
Desciende de tu nave nodriza a la
superficie lunar e intenta rescatar a los
hombres extraviados.
Ojo con los meteoritos que te destrui-
rán cuando intentes regresar.
Disponer de nuevas plataformas pa-
ra culminar con éxito la misión.
Desgraciadamente tu nave nodriza
está bloqueada por unidades de com-
bate enemigas... Intenta destruirlas.
Precio de venta 750 ptas. (IVA
incluido)
MSX 64K - CASSETTE
MANUAL EN CASTELLANO
Solicita tu programa favorito en tu tienda especializada habitual o recorta y envía
este cupón a INFODIS. S. A., c/Bravo Murillo, 377. 5.° A - 28020 MADRID
NOMBRE
DIRECCION _
POBLACION
PROVINCIA
C. P.
Forma de pago: CHEQUE □ CONTRAREEMBOLSO □
TARJETA DE CREDITO: American Express □ VISA □ INTERBANK
Nümero d. m, tarje,. I Mil I I 1 I I II III I I LLL]
CADUCIDAD
TITULO
CANTIDAD
TITULO
CANTIDAD
DROME
FLIGH DECK
MC-ATTACK
CONFUSED?
NORTH SEA
HELICOPTER
SPACE RESCUE
I
I
I
I
I
I
I
I
I
I
basic
/ 70. Final de partida.
720. Se recalca la línea anterior.
130. Condición de ganador pa-
ra el oponente.
740. Condición de ganador pa-
ra el ordenador.
750. Caso de empate.
Entre las líneas 110, 120 y 130
ELSE 10
110 PRINT:PRINT"FIN DE
PARTIDA"
120 PRINT" "
130 IF PJ>PO THEN PRINTUD.
GANA POR"PJ"A"PO
140 IF PO>PJ THEN PRINT"YO
GANO POR"PO u A"PJ
150 IF PO=PJ THEN PRINT
"EMPATE A"PJ
160 PRINT
170 INPUT M OTRA VEZ ? 1/0 M ;K
180 IF K=1 THEN RUN ELSE END
70. Obtención de un número
aleatorio del 1 al 9 (Variable X) que
será el que juegue el ordenador.
20. Elección por parte del juga-
dor oponente al ordenador de
cualquier número comprendido
entre uno y nueve (Variable Y).
30 Inscripción del número «sor-
teado» en la línea 1 0. Si se hubiera
inscrito antes el jugador conocería
de antemano el número del orde-
nador.
40. Obtención de la suma de los
dos números (Variable Z).
50. Control en la pantalla de los
dos números obtenidos previa-
mente y su suma.
60. Verificación condicional de
la paridad de la variable Z.
70. Lo mismo que la línea ante-
rior para la imparidad.
En ambas líneas se constata el
número ganador por el condicio-
nante par/impar y se inscribe en la
pantalla.
80. Indicación del ganador e
inscripción.
700. Control de las doce juga-
das de que consta cada partida
completa; podemos analizar la bi-
furcación condicional: si el núme-
ro de jugadas es 12 ó más de 12
se va a la línea 1 1 0 y si no vuelve a
la 10 donde se inicia la jugada si-
guiente.
no puede darse más que una de
las tres condiciones en cada caso
particular. Pero si no fuera así y ca-
da posibilidad pudiera repetirse
en más de un caso, habría que
modificar convenientemente las
direcciones de bifurcación.
770. Elección entre repetición o
finalización.
780. Condición para volver a ini-
ciar partida o dar por finalizada la
misma.
Como se puede ver este pro-
grama tiene unas características
enfocadas primordialmente al de-
sarrollo de las condiciones, pero
es fácil: variará según os propon-
gáis realizar un juego más sofisti-
cado o en el que intervengan otras
sentencias. Sólo hemos pretendi-
do ver prácticamente un conjunto
de normas esenciales para las
condiciones de bifurcación tan ca-
racterísticas en todo tipo de jue-
gos.
José Leal Rodríguez
34 MSX
La Guía Lotus Para Utilizar
CARACTERISTICAS:
• Páginas: 300
• Papel offset: 112 grs.
• Tamaño: 182 x 232 mm.
• Encuademación: Rústica-cosido
LA GUIA LOTUS PARA UTILIZAR 1-2-3
es un libro que le enseñará paso a paso cómo
utilizar este programa.
LA GUIA LOTUS PARA UTILIZAR 1-2-3
contiene:
- Glosario detallado e índice de forma que
pueda encontrar fácilmente cualquier co-
sa que necesite.
- Explicación de la capacidad de macros de
la versión 2.
- Una biblioteca básica de macros que ofre-
ce al nuevo usuario el descubrimiento in-
mediato y el uso eficiente de los macros, al
mismo tiempo que aprende a programar.
El complemento indispensable para el manual 1-2-3
| OFERTA DE LANZAMIENTO 3,950 PTAS, (IVA INCLUIDO) |
Recorte y envíe HOY MISMO este cupón a:
infoúis. s.a.
el Bravo Murillo, 377 - 28020 MADRID
CUPON DE PEDIDO
TAMBIEN
LO PUEDE
ADQUIRIR
EN SU LIBRERIA
HABITUAL
SI. Envíenme el libro «LA GUIA LOTUS PARA UTILIZAR 1-2-3» al precio
de 3.950 PTAS.
EL IMPORTE lo abonaré:
Con tarjeta de crédito VISA □ INTERBANK □ AMERICAN EXPRESS □
CONTRAREEMBOLSO □ ADJUNTO CHEQUE □
Número de mi tarjeta I I I I I I I I l I I I I iTl
Fecha de caducidad Firma,
NOMBRE
DIRECCION
CIUDAD CP
PROVINCIA TELEFONO
MSX
DOS
L-MUs posible que muchos lec-
QJntores piensen que sea éste
C_— lun artículo dedicado a re-
saltar las cualidades que un orde-
nador personal adquiere al co-
nectarle una unidad de disco, pero
nada más lejos que su verdadera
intención; además, estas cualida-
des son obvias, por lo que no hace
falta comentarlas. La razón de ser
de este artículo es informar sobre
las ignoradas cualidades que el
MSX-DOS, como sistema operati-
vo, tiene y elevar protesta hacia los
fabricantes de ordenadores MSX
por no dar, ni siquiera, información
del mismo.
Para hablar del DOS no tene-
mos más remedio que empezar
haciendo historia sobre los siste-
mas operativos que en el mundo
de la electrónica se desarrollaron
y, hablamos de la «historia de los
sistemas operativos» en lugar de
36 MSX
«las unidades de disco» ya que
éstas y los ordenadores tienen
prácticamente la misma edad
aunque, lógicamente, distinta tec-
nología. Antes de que incluso sea
el monitor de vídeo parte integran-
te de un ordenador ya éste dispo-
nía de un medio de acumulación
no volátil y rápido de datos que
eran, y son, las unidades de dis-
cos. Es por lo tanto lógico pensar
que la mayoría de los sistemas
operativos, o sea, programas que
permiten al usuario el manejo fácil
del ordenador, fueran destinados
a trabajar con estas unidades. Así
nació CP/M, invento de un ex-
operario de INTEL que, dicen las
malas lenguas, fundó DIGITAL RE-
SEARCH con el dinero que le su-
puso su sistema. CP/M estaba
destinado a ordenadores cuyos
microprocesadores fueran de 8
bits, por aquella época era el 8080
de INTEL el que estaba de moda, y
debido a su sencillez de manejo y
a las facilidades que ofertaba a la
hora de diseñar programas, fue
por lo que CP/M se convirtió en el
primer «estándar» para ordenado-
res. Todo era maravilloso, los pro-
gramas diseñados bajo CP/M para
un ordenador podían ser remen-
dados más o menos fácilmente
para que corrieran en otro ordena-
dor de distinta marca. Como era
de esperar, surgieron numerosas
copias de CP/M, algunas introdu-
jeron cambios beneficiosos al sis-
tema, otras permitían el trabajo
multitarea/multiusuario, etc. Con
el tiempo CP/M también cambió, y
se hicieron muchas versiones de
él cada vez más perfeccionadas
pero siempre, basado en su prin-
cipal principio: trabajo con unida-
des de disco.
Estos ordenadores no tenían, ni
tienen, un lenguaje residente co-
mo ocurre con el BASIC de los or-
denadores MSX, el cual va inte-
grado en una memoria de sólo
lectura para evitar su destrucción,
sino que BASIC o cualquier otro
lenguaje superior se cargaba des-
de el disco usando CP/M. BASIC
era un programa residente en dis-
co lo que permitía al usuario usar
la versión del BASIC que quisiera
y no aguantarse siempre con el
mismo programa. CP/M estaba en
la cumbre del éxito cuando se pro-
dujo un cambio que con el tiempo
se convertiría en otra gan revolu-
ción informática. Los chips de 16
bits ya estaban en la calle y con
ellos el 8088 de INTEL Estos pro-
cesadores eran capaces de direc-
cionar hasta 1 Mbyte de memoria
por lo que las necesidades del
usuario quedarían perfectamente
resueltas. IBM aprovechó este
boom y diseñó el PC. La ya cono-
cida empresa MICROSOFT tuvo el
encargo de realizar el sistema
operativo para este micro y sin du-
darlo creó el MS DOS; un sistema
operativo que al trabajar bajo la
misma filosofía que CP/M, permiti-
ría a los ya numerosos programa-
dores de este sistema adaptarse
al nuevo fácilmente. La idea de Mi-
crosoft tuvo éxito y por ello el PC
se ha convertido en el ordenador
más copiado del mundo, creando
a su vez un standard. Hoy día la bi-
blioteca de programas para PC y
«compatibles» es imnumerable.
Lo que sigue ya lo sabemos to-
dos; los japoneses se ponen de
acuerdo y crean un ordenador do-
méstico con numerosísimas posi-
bilidades, siendo Microsoft de
nuevo, la encargada de crear el
sistema operativo: diseñan una
versión mejorada del Basic para
PC y crean, además, MSX-DOS;
sistema operativo de disco para
MSX. MSX-DOS es una versión
mejorada del inicial CP/M de 8
bits e incluso es compatible con
éste en un 90% por lo que en prin-
MSX 37
MSX-DOS
cipio, todos los programas que
existen para CP/M pueden ser
transladados a MSX DOS, y de he-
cho lo son. ZSID,PIP,LOAD, etc.,
son una clara muestra de progra-
mas inexistentes en el mercado
español que funcionan en un or-
denador MSX. ¿Por qué no están
en venta en nuestro país? Cuando
alguien compra un IBM PC o un
compatible, además del ordena-
dor, en el paquete se le incluye
uno o dos discos con todo el siste-
ma operativo además de algunas
utilidades (en realidad, estos dis-
cos van incluidos en el precio, pe-
ro al menos están allí). Las casas
comerciales MSX creen que el sis-
tema operativo es COMMAND.-
COM y MSXDOS.SYS y esto es lo
que algunas nos suelen incluir; ¿y
si alguno de nosotros desea reali-
zar programas basados en el
DOS, qué tiene que hacer?, nada.
Nada debido a que para poder tra-
bajar en dicho sistema operativo
hacen falta como mínimo un editor
(ED.COM o WM.COM entre otros
existentes), un ensamblador
(ASM.COM), un depurador de pro-
gramas (ZSID.COM que es la ver-
sión para Z80 del DDT.COM), un
«linkador» (L80.COM), etc.: pro-
gramas que ni siquiera existen en
el mercado. A todo esto se le une
la falta de información sobre el te-
ma; es corriente que cuando se
hable del MSX-DOS se termine co-
mentando instrucciones como «FI-
LES» (instrucción del Disc Basic),
cosa que no tiene nada que ver
con el DOS ya que éste y el BASIC
para disco son dos cosas COM-
PLETAMENTE DISTINTAS. Esta
falta de información es muy impor-
tante ya que podemos tener los
programas anteriormente men-
cionados pero si ni siquiera sabe-
mos abrir un archivo bajo el DOS,
no podemos hacer nada útil. Y
MSX-DOS es algo muy útil.
La ratificación de todo lo ex-
puesto está en que quizás sean
los mejores programas para MSX
los realizados con MSX-DOS co-
mo sistema base; el ejemplo lo te-
nemos en WORDSTAR y en DBA-
SE II, programas originales de MS
DOS que han podido ser «traduci-
dos» a MSX-DOS y que han apa-
rencido en el mercado reciente-
mente. Es posible que los respon-
sables de esta falta nos contesta-
rán diciendo que para trabajar en
MSX-DOS y crear programas inte-
resantes hace falta conocer el len-
guaje ensamblador pero, si es ver-
dad que no todos los usuarios lo
conocen, también es verdad que
son muchos los «ensamblador-
adictos» que son usuarios de or-
denadores MSX.
Pero dejémonos de quejas y es-
tudiemos a fondo el DOS. Des-
graciadamente MSX-DOS es tan
interesante como complejo por lo
que es imposible abarcarlo todo
en sólo un artículo. En un próximo
número describiremos las distin-
tas funciones internas del DOS y
dedicaremos lo que queda de és-
te a conocer qué es lo que hace un
ordenador MSX recién encendido
que tiene insertado un disco con
COMMAND.COM y MSX.DOS;
programas iniciadores del DOS. Al
encender este ordenador, el Z80
lee una rutina inicializadora que
sirve para conocer la cantidad de
memoria existente y si hay o no
conectado un cartucho. Al haber
una unidad de disco, existe ade-
más un programa en ROM, como
si de un cartucho se tratara, en el
ordenador (en las unidades que
están conectadas externamente al
ordenador, este cartucho existe
físicamente) por lo que rápida-
mente inicializado el ordenador, el
Z80 se dispondrá a leer la ROM de
la unidad de disco. Esta ROM tiene
un programa que inicializa tanto el
hardware como el software para
disco, o sea, prepara los mecanis-
mos y busca un trozo de la memo-
ria RAM para su uso particular. In-
mediatamente después la unidad
se pone en marcha (se enciende
la luz «in use»), la cabeza lectora
se coloca en la pista del disco más
externa, pista (track) 1 , y lee el pri-
mer sector de dicha pista; el sector
cero. Este sector cero es impor-
tantísimo, contiene toda la infor-
mación necesaria, especialmente
el tipo de formato que ha recibido
(existen muchos tipos de formatos
distintos en los discos MSX) y un
programas inicializador llamado
38 MSX
BOOT PROGRAM (programa de
carga). Sí, en este sector del disco
existe un programa escrito que no
hemos puesto nosotros, sino que
se escribió al formatear el disco.
Pues bien, la ROM del disco hace
cargar este Boot Program a partir
de la dirección de memoria
C000H y lo carga el programa
MSXDOS.SYS en la memoria. Si el
\
programa no se encuentra en el
disco, se salta al Basic a través de
la conocida pregunta "ENTER DA-
TE".
Al principio parece como si los
de Microsoft rizaran el rizo a la ho-
ra de inicializar el disco ya que no
es la ROM la encargada de cargar
MSXDOS.SYS sino un programa
escondido en el disco cargado y
ejecutado por la propia ROM. No
obstante, esto tiene su razón de
ser ya que de esta manera, cam-
biando el Boot Program, cambia-
mos la inicialización del disco eje-
cutándose automáticamente otro
programa (el que nosotros quisié-
ramos) en vez del MSXDOS.SYS.
Este, justamente, es el método
usado por algunas casas comer-
ciales para la auto carga de pro-
gramas. Tenemos entonces que el
Boot Program carga a MSX-DOS
en memoria, y lo hace a partir de la
dirección de memoria 100H. Esto
nos dice que el Soof Program (o la
ROM, depende de los casos) colo-
ca los slots de memoria del orde-
nador de forma que las cuatro pá-
ginas de la misma sean RAM, en
otras palabras, en MSX-DOS tra-
bajamos con 64 Kbytes de RAM,
lo que nos permite usar progra-
mas que, por su longitud, hubieran
sido imposibles de correr en BA-
SIC. Ya empezamos con las ven-
tajas.
Ya sabemos cómo se carga
MSXDOS.SYS pero, ¿para qué sir-
ve? De la misma forma que el Ba-
sic MSX tiene un BIOS en la ROM,
el DOS necesita también de un
BIOS, el cual es creado por MSX-
DOS.SYS. Pero aquí tenemos la
ventaja de que al estar en disco,
nosotros podemos usar siempre
la versión más moderna del DOS,
y no tener eternamente la misma
como ocurre con el BIOS del Ba-
sic. MSXDOS.SYS hace otra cosa:
busca y carga del disco el progra-
ma COMMAND.COM. COMMAND
es el equivalente a los segundos
1 6 Kbytes de la ROM MSX, o sea,
es un programa que permite al
usuario usar algunas instruccio-
nes directas. DIR, COPY y DEL son
algunas de ellas. COMMAND.-
COM puede, a su vez, cargar otro
programa tipo ".COM" que exista
en disco, pero esta vez no de for-
ma automática, sino mediante una
orden directa del usuario. Así, por
ejemplo, y suponiendo que en el
disco tenemos el programa ZSID.-
COM (depurador de programas
para DOS), con sólo teclear ZSID,
COMMAND se encargará de car-
garlo en memoria a partir siempre
de la misma dirección: la 100H,
ejecutándolo también a partir de
esta misma dirección. Para salir de
este programa pulsaremos las te-
clas CTRL y C a la vez, lo que origi-
na un salto a una dirección del
BIOS (cargado, como ya sabe-
mos, por MSXDOS.SYS) la cual
vuelve a cargar, si es necesario, y
a ejecutar el programa COM-
MAND.COM.
Los amantes del código máqui-
na saben que para hacer un buen
programa hay que utilizar algunas
rutinas (direcciones) del BIOS BA-
SIC MSX para facilitar la progra-
mación, por lo que si conocemos
el BIOS del DOS, podremos hacer
programas tipo COM (ejecuta-
bles desde el COMMAND) que nos
sean de utilidad. Es posible que el
lector espere una lista de direccio-
nes del BIOS DOS que son útiles,
pues no; tan sólo nos hace falta
conocer una dirección para usar
todas las funciones del DOS. Esta
dirección es la 5H. Según el valor
que tenga el registro C al hacer la
llamada a esta dirección, así será
la función que el BIOS haga. Claro
está, y volvemos a lo mismo, que si
no tenemos herramientas para
trabajar en el DOS, nos será difícil
realizar programas para este sis-
tema, pero esto se puede solucio-
nar fácilmente. Cosa que dejare-
mos para más adelante.
Juan J. Jiménez León
MSX 39
Bases de datos
dBASE II
para MSX
Estrictamente hablando, una base de datos no es
más que un conjunto de información. Por
importante que sean los datos que contiene, no
servirían de nada si no estuviese organizada
sistemáticamente. La mejor biblioteca del mundo
sería inútil si no fuésemos capaces de encontrar
el libro que nos interesa.
jna de las aplicaciones más
M linteresantes del ordenador
^ ^ ses. precisamente, facilitar el
mantenimiento y utilización de las
bases de datos. Los programas
encargados de esta tarea se de-
nominan sistemas de gestión de
bases de datos (en inglés, data ba-
se management systems, o, en
forma abreviada, DBMS). No obs-
tante, es muy frecuente aplicar el
nombre de «base de datos» para
referirse tanto o más al programa
gestor de base de datos que a la
base de datos propiamente dicha,
lo que puede originar alguna que
otra confusión.
Terminología y tipos
de Bases de datos
Un sistema de gestión de base
de datos es algo menos complejo
de lo que los no iniciados supo-
nen, aunque, como tantas veces
ocurre con la informática, su com-
prensión está dificultada por una
oscura terminología.
Si continuamos con el ejemplo
de la biblioteca, nuestra base de
datos contendría una serie de in-
formaciones sobre todos y cada
uno de los libros. Esta información
se almacena en un fichero, consti-
tuido por unidades llamadas re-
gistros, que en nuestro ejemplo
serían las fichas de cada libro, de
manera que cada registro del fi-
chero contendría los datos de un
libro determinado. Las unidades
de información en que se dividen
los registros son los campos; en el
ejemplo tendríamos campos para
el título, autor, tema, editorial...
Aunque la práctica totalidad de
los sistemas de gestión de base
40 MSX
de datos utilizan esta terminología,
las diferencias en su funciona-
miento permiten establecer tres
grupos: sistemas de gestión de fi-
cheros, sistemas de bases relació-
nales y sistemas jerárquicos y en
red.
Los sistemas de gestión de fi-
cheros se basan en la definición
de ficheros, programación de la
entrada de datos, clasificación de
los mismos y creación de infor-
mes. Un programa de este tipo al-
macena en ficheros de disco es-
peciales el diccionario de datos, el
formato y la información del menú;
después consulta esta informa-
ción de control, lee la respuesta
del usuario a su menú y determina
cómo introducir los datos y pre-
sentar los informes. Sus posibili-
dades son más bien reducidas
debido, sobre todo, a su escasa
flexibilidad.
Los sistemas de gestión de ba-
se de datos relaciónales están en
un nivel superior al de los sistemas
de ficheros. Ambos trabajan con fi-
cheros individuales, pero los siste-
mas relaciónales disponen de un
lenguaje de comandos propio,
dotado de una gran flexibilidad, y
permiten usar varias bases de da-
tos simsultáneamente; dos o más
ficheros pueden estar relaciona-
dos de forma que basta recurrir a
un fichero secundario para obte-
ner información adicional sobre
un campo determinado del fichero
primario.
Por último, los sistemas jerár-
quicos y en red se apartan radical-
mente de la estructura empleadas
por los otros sistemas y aplican
una lógica diferente a los datos
como conjunto, sacrificando la
sencillez de utilización en aras de
una mayor potencia.
MSX 41
dBase II
La flexibilidad y relativa simplici-
dad de los sistemas relaciónales
los ha convertido en los más po-
pulares entre los usuarios de mi-
croordenadores. Unicamente en
algunos ordenadores domésticos
de reducidas prestaciones es
prácticamente imposible su im-
plementación.
dBASE II, un sistema
reiacional clásico
Recién llegado al mundillo de
los MSX, dBASE II es uno de los
clásicos de la microinformática.
Con su sucesor, dBASE III, domina
desde 1 981 el mercado de las ba-
ses de datos.
Seguramente, ni el mismo Way-
ne Ratliff hubiera creído que al-
canzaría un éxito semejante cuan-
do comenzó a escribirlo.
Ratliff, diseñador de sistemas en
el Jet Propulsión Laboratory de
Pasadena, California, escribió
dBase II para trabajar con su mi-
croordenador. En 1979 lo anunció
en la revista Byte con el nombre
de Vulcan. Por aquel entonces, el
programa carecía de muchas de
sus prestaciones, entre ellas la in-
dexación. A mediados del año si-
guiente, Wayne lanzó una nueva
versión que ya permitía la indexa-
ción y la edición de pantallas. Sin
embargo, no consiguió vender ni
cincuenta copias de Vulcan.
Fue ese mismo año cuando
George Tate se hizo cargo de la
comercialización del programa,
cambiando su nombre por el ya
definitivo de dBASE II, creando
una nueva empresa para distri-
buirlo (Ashton-Tate) y consiguien-
do ventas masivas.
Características
de dBASE II
La forma más sencilla de utilizar
dBase II es ignorar su capacidad
l <^£ HORROR/ M£ HAN DíCMO QUÉ ¿L
0*ta base ii no ésta solo. rtMOieu
el ni y a ivnn¿: — ■
v ove pvívthi uE64*úfy y\\
de programación hasta conseguir
una cierta familiaridad con el pro-
grama. El primer paso para cons-
tuir una base de datos con dBASE
II es usar el comando Créate, uno
de los dos (el otro es Report) que
nos introduce en un proceso du-
rante el cual dBase solicita la infor-
mación necesaria para definir una
estructura, en este caso la del fi-
chero, estableciendo el nombre,
longitud y tipo de cada campo, así
como el número de decimales de
los campos numéricos.
DBASE II admite 254 caracteres
por campo, 32 campos por regis-
tro, un total de 1.000 caracteres
por registro y 65535 registros por
fichero. El número máximo de fi-
cheros con los que se puede tra-
bajar simultáneamente está limita-
do a sólo dos.
El comando Use especifica a
dBASE II el fichero con el que se
va a trabajar. Seleccionado éste,
Append permite añadir nuevos re-
gistros e introducir nuevos datos.
Esta labor está facilitada por la ca-
pacidad de edición en pantalla
completa. Con el comando Editse
puede localizar cualquier registro
y cambiar o sustituir datos introdu-
cidos previamente.
Comandos como Change,
Browse, Read, Update, Recall, Re-
place, Insert y Pack se usan para
editar, introducir o borrar datos de
un fichero. Utilizados en combina-
ción, según las normas sintácticas
de dBASE II, ofrecen todavía más
potencia. Por y While agrupan re-
gistros de acuerdo con el cumpli-
miento o no de las condiciones es-
pecificadas.
Ordenando ficheros
Los comandos Sort e Index or-
denan los datos del fichero confor-
me al campo solicitado. Sort copia
el contenido de todo el fichero en
uso en un fichero ordenado. Index
solamente crea un fichero índice
para un campo o campos especi-
ficados.
El proceso de ordenación me-
diante Sort es muy lento y requiere
un espacio de almacenamiento
en disco doble al menos que el ta-
maño del fichero original, pues és-
te no se borra hasta que se crea el
fichero ordenado. Sin embargo, el
trabajo con ficheros ordenados
agiliza notablemente cualquier
proceso posterior.
Ficheros indexados
Al emplear el comando Index,
dBASE II toma el fichero en el que
se está trabajando y crea un fiche-
42 MSX
Principales comandos de dBASE II
APPEND: Permite añadir datos a una base de datos.
BROWSE: Muestra en pantalla un listado de los registros.
CREATE: Define la estructura de una nueva base de datos.
COPY: Copia la estructura, el contenido o ambos de una base de da-
tos a un nuevo fichero.
DELETE: Marca registros para su borrado.
DISPLAY: Muestra estructuras, registros y variables.
EDIT: Presenta en pantalla el registro solicitado y modifica los datos.
ERASE: Borra la pantalla.
FIND: Localiza registros en una base de datos indexada.
INSERT: Incorpora un nuevo registro a una base de datos, insertán-
dolo entre otros.
JOIN TO: Crea una base de datos nueva uniendo dos ya existentes.
LOCATE: Encuentra secuencialmente registros que satisfacen una
condición dada.
PACK: Elimina los registros marcados para borrado.
OUIT: Cierra los ficheros y variables y sale de dBASE II.
RECALL: Suprime las marcas de los registros señalados para borrado.
REPORT: Genera informes.
USE: Seguido de un nombre de fichero, abre una base de datos para
trabajar con ella.
ro índice de tamaño mucho me-
nor, únicamente con la informa-
ción seleccionada. dBASE II pue-
de mantener hasta siete índices
activos al mismo tiempo.
El procesamiento secuencial
con un fichero indexado es lento,
puesto que el programa debe leer
tanto el fichero índice como el pri-
mario para moverse de un registro
a otro.
Además, ha de actualizar
ambos ficheros cada vez que se
modifican o añaden datos.
Sin embargo, la creación de
índices tiene múltiples ventajas
sobre la ordenación con Sort. En
primer lugar, se necesita menos
espacio de almacenamiento en
disco.
En segundo lugar, los fiche-
ros indexados se actualizan auto-
máticamente. En tercer lugar,
mientras que sólo se puede orde-
nar, por un campo, se puede inde-
xar por más de un campo o por
fragmentos de los mismos. En
cuarto y último lugar, el comando
Finó, con el que se puede encon-
trar directamente un registro que
contenga el dato específico, sólo
funciona con ficheros indexados.
En los ficheros ordenador no se
Tipos de ficheros de dBASE II
DBF FICHEROS DE BASE DE DATOS: Son los ficheros que alma-
cenan el contenido de los registros y campos.
MEN FICHEROS DE MEMORIA: Guardan, hasta un máximo de 64,
las variables de memoria creadas con el mandato Store.
CMD FICHEROS DE PROGRAMA: Almacenan una secuencia de
instrucciones de dBASE II.
FRM FICHEROS DE INFORME: Se crean al usar el mandato Report
y contienen los encabezamientos, totales, columnas y contenido
de los listados.
TXT FICHEROS DE TEXTO: Se crean cuando se usa el mandato set
altérnate, para almacenar en disco todo lo que aparece en pantalla.
NDX FICHEROS DE INDICE: Se crean al usar el mandato Index y fa-
cilitan una localización rápida de los datos.
FMT FICHEROS DE FORMATO: Se utilizan para formatear panta-
llas durante la ejecución de los mandatos Append, Insert y Edit.
MSX 43
dBase II
utiliza Find, sino Lócate, que es
bastante más lento.
Programación
y Aplicaciones
Aunque dBASE II es un potente
sistema de gestión de bases de
datos, difícilmente podríamos ha-
cernos idea de sus posibilidades
sin tener .en cuenta su capacidad
de programación en un lenguaje
propio, de alto nivel y estructurado,
lo que facilita la creación, lectura y
modificación de programas. Su
importancia es tal, que, sin temor a
la exageración, podría definirse
dBASE II como lenguaje de pro-
gramación especializado en la
gestión de bases de datos. Fácil
de aprender, simplifica el desarro-
llo de aplicaciones de gestión «a
medida» (desde control de stocks
a contabilidades, por ejemplo),
que se pueden escribir más rápi-
damente que en otros lenguajes
de alto nivel como Pascal o BASIC.
Esta característica, junto a su
tremenda flexibilidad, ha converti-
do a dBASE II en la base de datos
más aceptada por los usuarios de
ordenadores con los sistemas
operativos CP/M Y MS-DOS (rele-
vada en estos últimos por dBASE
III) y, sin duda, le llevará a ocupar
una posición similar en el campo
de los MSX.
Enrique Fdez. Larreta
SUSCRIBASE
POR TELEFONO
* más fácil,
* más cómodo,
* más rápido
Telf. (91) 733 7969
7 días por semana, 24 horas a su servicio
SUSCRIBASE A
ANUNCIESE
por
MODULOS
MADRID
(9 1)73396 62
BARCELONA
(93)3014700
disponemos de
TAPAS ESPECIALES
para sus ejemplares
SIN NECESIDAD DE ENCUADERNACION
PRECIO UNIDAD
£50plas_
Para hacer su pedido, rellene este cupón HOY MISMO
y envíelo a: MSX MAGAZINE
Bravo Murillo, 377 Tel.: 733 79 69 - 28020 MADRID
(en cada tomo se pueden encuadernar 6 números)
Ruego me envíen... tapas para la encuademación de mis ejemplares de
MSX MAGAZINE. al precio de 650 pts más gastos de envió
El importe lo abonaré
□ POR CHEQUE □ CONTRA REEMBOLSO □ CON MI TRAJETA DE
CREDITO □ AMERICAN EXPRESS □ VISA □ INTERBANK
Número de mi tarjeta:
Fecha de caducidad Firma
NOMBRE
DIRECCION
CIUDAD CP.
PROVINCIA
La puerta de la fortuna
a puerta de la fortuna es un
*_J| juego que podrás disfrutar
' en compañía de amigos o
familiares. No todo va a ser jugar
contra el ordenador. Está progra-
mado para MSX de segunda ge-
neración ya que utiliza en su
mayoría la SCREEN 5. Sin más
preámbulos paso a explicaros las
instrucciones para jugar durante
largas horas.
Después de una pequeña pre-
sentación se pide el número de ju-
gadores. Estos deben ser de dos a
nueve. A continuación el nombre
de cada uno de ellos; no os impor-
te meter la longitud que queráis, el
programa se encarga de «recor-
tarlos». Si pulsáis que todo es co-
rrecto con la S el programa os pe-
dirá cuánto se pone en la mesa, de
entrada. Llegado a este punto he
de advertir que se juega con dine-
ro, pero podéis jugar con fichas si
lo deseáis.
Una vez introducidos los datos
anteriores se dibuja lo que va a ser
la pantalla de juego y se pregunta
hasta dónde vais a jugar. Si mo-
véis los cursores derecho e iz-
quierdo observaréis una línea roja
que se desplaza dentro del cua-
drado negro. Dejarla donde creáis
oportuno y pulsar SPACE. Empie-
za el juego.
El programa automáticamente
sortea cuál será el primero en em-
pezar. Pero antes de tocar ningu-
na tecla paso a explicaros las dife-
rentes ventanas. La primera em-
pezando por arriba a la izquierda
es la posición de cada jugador
(unos cuadritos de color). Más a la
derecha está el dado, ya en mar-
cha. Justo debajo de estas dos
ventanas hay una alargada de co-
lor rojo, es la energía de que dis-
ponemos, si se acaba fenecere-
mos irremediablemente. Debajo la
ventana de juego donde ya está
nuestro personaje dispuesto a
emprender la marcha. Más abajo
el dinero que hay en la mesa y el
nombre del jugador que le toque
tirar, y abajo del todo una ventana
donde aparecerán mensajes o
pruebas para hacer durante el de-
sarrollo del juego.
Empezamos a jugar. Pulsamos
cualquier tecla y el lado se para,
entonces aparecerá un objeto en
nuestro camino. Si no es así saldrá
justo debajo del dado una bolita
de la suerte, reuniendo seis, den-
tro del primer tramo, habremos
ganado la partida. Esto, por su-
puesto no es fácil. Si aparece un
objeto éste puede ser de diferente
naturaleza, forma y color. Todos
los objetos los puedes o no coger.
En caso de que no los cojas avan-
zarás en número del dado.
La botella: Es uno de los más
frecuentes. Dentro de la botella te
puede salir una bebida alcohólica.
Cuando esto ocurra saldrá una
línea roja encima de tu posición de
jugador. Si esta línea supera a la
otra de debajo, dejarás de jugar.
También puede salir una bebida
no alcohólica que hará el efecto
contrario. Te bajará la línea roja o
alcoholímetro. Otro de los líquidos
que puede contener es agua ben-
dita. Si la cojeis dos veces durante
la partida ganaréis sin remisión. Y
por último el genio de la botella
también puede hacer su aparición
pudiendo pedir un deseo de los
que se muestran en pantalla (in-
cluida sorpresa).
Cajita amarilla: Al cogerla te
aparecerán unos cuadros de co-
lor. Contrólalos y responde a la
pregunta que se te haga. Sigue
instrucciones.
Maleta roja: Aquí también pasan
muchas cosas. Cuando la cojas te
puede salir coge, pon, toma todo o
todos ponen una cantidad que se
parará al pulsar una tecla.
Arbol: El árbol te permitirá lle-
varte toda la mesa o poner todo lo
que hay en la mesa, dependiendo
de si superas una prueba o no.
Debes de conducir a una enanillo
hasta el final, salvando con la tecla
space, ciertos obstáculos.
Triángulo azul: Al cogerlo par-
padeará. Pulsa una tecla. Si te
queda en blanco habrá un salto
de turno.
esfera azul: Cójela y cuenta lo
más aprisa posible el número de
esterillas que aparecerán.
Esfera roja: Tendrás que llevar,
si la coges, un rectángulo hasta el
final sin tropezar con nada, ni si-
quiera con los bordes. Si chocas
pondrás lo indicado en la ventana
de energía.
LOS JUEGOS ELECTRONICOS
46 MSX
PREMIO DE fOOOPTS
Banderín verde: Avanzas el do-
ble.
Energía: Cuando seas atravesa-
do por un potente rayo láser no te
preocupes, no pasa nada, la ener-
gía te aumenta. Eso sí, tienes que
pagar un tanto.
Estos son los objetivos que
aleatoriamente pueden salir. En
cada partida aparecerán siempre
en forma diferente y en diferentes
lugares. Cuando algún objeto
aparezca detrás del personaje és-
te lo ignorará y avanzará el núme-
ro del dado.
El que llegue primero a la línea
amarilla del cuadrado negro ga-
nará lo que hay en la mesa.
El programa está bastante bien
estructurado con una línea princi-
pal y el resto subrutinas con líneas
REM para identificarlas perfecta-
mente.
Un poco de paciencia al teclear-
lo y disfrutarlo en compañía. ¡Ah! y
recordad que sólo para MSX de
segunda generación.
José Carlos Tomás
í 'PRESENTACION JUEGO
2 SCREEN5.2.8:C0L0R 15 ,5 ,5 :CLS :0PEN B BRP
:'F0ft ÓUTPUT AStl
3 CIRCLE(97, 185) ,88,15,1.5,4.8.1.4
4 CIRCLE(97, 185) ,78,15,1.5.3.85,1.4
5 CIRCLE(97.185) ,78,15.3.25.4.8,1.4
6 PRESET(1«2.25) :DRAW - Cl5Dlé'
7 PRESET (182.1B5) : DRAWC 1 5U1 0"
8 PRESEK47.188) :DRAN"C15R48D18L48"
9 BEEP:PLAY'S1H18888C"
18 PAINT(181,26).2,15
11 PRESET(187,17á):PRINTIl,'PSrL0N SOFT
HARE'
15 60SUBB188
28 HJX*i
58 S0SUB1888
68 60SUB1188
78 60SUB1388
88 60SUB1Ó88
85 60SUB1588
98 G0SUB1788
95 B0SUB5388
188 60SUB1888
118 G0SUB1988
115 G0SUB2488
117 60SUB2688
138 G0SUB2288
488 B0T0118
588 END
1888 'PORTADA -
1885 SCREEN 3:COL0R 15.1,1:CLS
1828 PLAY'S11H2588ABCÜEFL1GYCDEF6AL1B
u , "EFGABCL1D"
1838 FOR F=3 10 4:C0L0R F
1848 PSET(188.F):PRINTfl."LA"
1858 PSET(37,H48) rPRINTél ."PUERTA"
1868 PSETíSS^+B») :PRINT#1 'DE LA B
1878 PSET(28,F+128) :PRINTti ."FORTUNA"
1888 NEXT
1898 PLAT É 06LBS 1 1H35MC0ECD6C a
1895 F0RF=1T02888:NEXT:RE T URN
1188 'ELECCION JU6AD0RES-Y VARIOS
1118 SCREEN 8:HIDTH39:KET 0FF:C0L0R 2,1
,1:P0KE*HFCAB.255:CLS
1128 LOCATE 8,4:PRÍNT", —
1 * :PRINT" | ¿NUHERO DE JUGADO
RES?- (2/9) j SPRINT" 1
":PRINT
1138 J$=INPUTI(1)
1135 IF ASCUÍK58 OR ASC(J$)>57 THEN G
QT01128
1148 J2=VAL(J$)
1145 PRINT :PR I NT JIj« JUGADORES" :PRINT:
PRINT
1158 DIN JKJ2)
1168 PRINT" , »*:PRIN
T'UNOHBRES^'sPRINT" »■
:PRINT
1178 FOR F2=l TO J2
1188 INPUT J$(F2):JS(F2)=LEFT$(J$(F2),1
2)
1198 NEXT :PRINT
1195 PRINT" r 1 " :PR
INT" | ¿CORRECTO? I " : PRINT" 1 —
¡PRINT
1288 A$=INPUT$(1
1218 IF A$="S" THEN 1238
1228 IF A$='N" THEN ERASE J$:G0T01118 E
LSE 1288
1238 CLS:PRINT"¿APUESTA INICIAL EN LA H
ESA'" :PRINT"
":PRINT:PRINT:INPUT APS
1248 AP=VAL(AP$):IF AP<1 THEN GOTO 1238
1258 H0=APtJ2
1298 RETURN
1388 'PANTALLA DE JUEGO
1318 SCREEN5 ¡COLOR 1.5,5:CLS
1328 LINE(8,211)-(255,188),1 Í B
1338 LINE(2,289)-(253,182),1,B
1348 PAINTU. 1991.2.1
1418 LINE(8,95)-(Í55,81),1,B
1428 LINE(2.93)-(253,83),1,B
1438 PAINT(Í,94).18,Í
1448 LINE(8,78)-12I8,8),1,B
1458 LINE(2,76)-(19B 1 2),1,B
1468 PAINT(Í,77),5,1
1465 PAINT(3.75),1
1478 LINE(28J,8)-(255,7B) I 1 1 B
1488 LINEI284 2)-(253 76) 1 B
1485 LINE(21Bl5)-(238.24),l,B
1487 PAINT(2l9 1 6),15 i l
1488 LINE(21B.Í4)-(238,35),1,B
1489 PMKT (219.25) .14.1
1498 PAINT(283,77),Ü,Í
1495 RETURN
1588 'PASILLO JUGADOR
1585 G0SUB1593
1518 LINE(2,165)-(253,188).5,BF
1528 LINE(8,167)-(255,<?8).1.B
1538 lINE12.165)-(253,188),1,B
1548 PAINTÜ. 166), 15.1
1558 LINE(2 1 168)-I252,168),1
1568 PAINT(4, 164), 12,1
1578 PAINT(4.159).7.1
1588 PRESET<3,118) :?0RFI=13TQ253STEP! í :
A2=118*RND(-TIHE)t28;L!NE-fF2,A2),
Í:NEXT:PAINT(4,181),*,1
1598 RETURN
1592 LINE(3,159)-(258.132\7,BF
1593 IF AB2ÍNJ2)<>8THÉN60SüB4895
15*4 PUTSPRITE 1 , (256,212) ,1 ,*:PUTSPR! T
E 7.(256.21}), 15, 28:PC T SPR! T E18, (2
56.2l2).f,28:
1595 PUÍSPRIÍE 2, (256,212),:, 5
1596 PUTSPRITE 3 (256 212) !8¡15:PUTSPR:
T E 4, (256,212) .8.16:PÜT§PRITE 5.Í2
56,212), 1,13:PÜT¿PRITE 6,(256,212*
114
1597 ÍÓÍF2=1T05:CCL0R..9:F0R«2=1T0188:N
EXT: COLOR, , 18: p DRP2=l T 0188:NEt T :NE
X T : BEE D
1599 RETURN
1688 'PLANO JUGADORES
1618 RESTORE 1698:DIH CJ2U2) .PJ2U2/ .E
N2(J2) ! Pn(J2-),n(J2),ACl(J2),ABl(
J2) 1 A2ÍJ2 1 6)
1628 F0Rf2=l TÚ J2:READ A2.C2:CJ2(F2)=C
2:PJ2(F2)=A2:EN2(F2)=252:Pn(F2)=5
:X2(F2)=4:AC2(F2)=3:AB2(« : 2)=8
1638 LINEO, A2)-(5,A2*4),C2,BF:
16*8 NEXT
1658 RETURN
1698 DATA 4,2.12,5.28,9,28,18,36,9,44,1
3.52.7 6Í.3 6á.l!
1788 Sorteó dél príherq-
1718 a2=rnd(-tihe)
1728 FOR F2=l TO RND(8)tl2
1738 NJ2=1*RND(8)U2
1748 NEXT
1798 RETURN
1888 'CANTIDAD EN LA MESA Y JUGADOR —
1810 LINE(2,178)-(255.178),5.BF
1828 PSET(2,178):C0L0ftl5 f 5:PRlNTIl,"HES
A:":H0;' PTS. <";J$(NJ2) ;">"
1898 RETURN
1988 'PANTALLA JUGADOR
1918 60SUB 2388
1928 COLOR ..CJ2ÍNJ2)
1938 PUTSPRITE l,(X2(NJ2) ,128) ,1,4
1935 PUTSPRITE 7,(X2(NJ2) ,128) ,9,28
1948 PUTSPRITE 2,(X2(NJ2) 144) 1 5
1945 60SUB2888
1958 IF INKEY$="THEN GOSUB' 2888:F0RF=1
TO 188:NEXT:60T01958
1968 PLAY"L4S8H5888C'
1998 RETURN
2888 ' TIRADA DADO
2818 DA2=l*RND(-TIHE)t6
MSX 47
IF DA2=! THEN PUTSPRITE8, (228,6) ,1
iF DA2=2 THEW PüTSPRITEi, (228,6) ,1
2121
2831
2841 fP DA2=3 THEN PUTSPRITE8, (228,6) ,1
2858
2868
2878
2891
2188
2181
2183
2184
2185
2118
2115
2128
2125
2138
2135
2148
2158
2155
2!68
2165
2178
2168
2183
2185
2198
2288
2283
2218
2215
2228
2225
2238
2248
2245
2258
2298
2388
2318
2328
2398
2«88
2418
2428
lF DA2=4 THEN PUTSPRITE8, (228,6) .1
,2
1F DA2=5 THEN PUTSPRITE8, (228,6) ,1
.9 '
IF ÜA2=6 THEN PUTSPRITE8, (221,6) ,1
ftliTtlRN
' AVANCE JUGADOR
IF 0B2=3 THEN RETURN
IF R2=l THEN RETURN
IF X2(NJ2)=8 THEN RETURN
FOR F2=l TO DA2
Xl(NJ2)=X2(NJ2)*3;FORN=l TO 25.-NEX
T
ÍF X2(NJ2)=>238THEN SOSUB 3888
PUTSPRITE 1,(X2(NJ2),128).1.6
PUTSPRITE 7,(X2(NJ2),128),9,28
PUTSPRITE 2. (XI(NJI) .144) ,1 .7
S0UND8 . 1 6 :SÓUND1 3 .9 :S0UNB7 ,í :SOUND
12.155:S0UND11.18Ú
X2(NJ2)=X2(NJ2)+3:FORN=l TO 25:NEX
T
PUTSPRITE 1 ,<XI(NJ1> .128) .!.*
PUTSPRITE 7,(X2(NJ2>,128),9 28
PUTSPRITE :.(X2(NJ2).144).1.5
S0UND8 ,16: SÚUNB 13.8 :S0UND7 , 3 : SOUND
1 2 8
lÍAe(EN2(NJ2),92)-(EN2(NJ2)-3.84),
5.BF:EN:(NJ2)=ENZ(NJ2)-2:I' : ENÍ(NJÍ
KMTREN 60SUB 7188 :S0T02 198
PX2(NJX)=PX2(NJ2)+1:LINE(PX2ÍNJ2).
?J2(NJ2}l-íPX2(NJ2).?J2(NJ2)+4) l d
2ÍNJ2):IF PX2(NJ2)=FJ2 THEN S0SUB7
888
NEr;R2=í
IF EN2INJ2K18 THEN SOSUB 7988
F0RF2=1T01888:NEXT-
RETURN
' SIGUIENTE JUGADOR -
I* NJ2=J2THENNJ2=1 ELSE NJ2=NJ2+!
IF W2=>J2 THEN F0RF2=1T0J2:IF XX(FI)
=8 THEN NEXT ELSE NJ2=F2:60SUB7888
IF X2(NJ2)=8 THEN 2283
S0SUB1592:G0SUB2968
S0SUB2888
S0SUB B 2388
60SUB3288
*2=8:SD2=8
RETURN
' PANTALLA ENERGIA —
LINE(3,92)-(252.84).5.BF
LINE(3 t 92)-(EN2lNJ2) 1 á4),8,BF
RETURN
' APARECE OBJETO *
0B2=l+RND(2)tl5:P02=íl*RNDU)t228:
C0L0R7 : PRESET ( P02 , 1 59 ) : I FRND ( -T I HE
)tl8>7THEN0B2=2
ON 0B2 GOSUB 2588.2518.2528.2538.2
548.2558 .2568 .2578 .2588 ,8888 ,8888 ,
2498 RETURN
?5H 'o flAL^TA
2581 DRAWC1R18U8L18R4U2R3D2L7D8R3U8' :P
AINT(P02+1,158) ! 8,1:PAINT(P02*4,15
8) ,9,1
2583
2589
2518
2511
2519
2528
2522
2524
2538
2535
2537
2548
2542
2545
'2558
2555
2557
2568
2563
2565
2578
2573
2575
2588
2583
2589
2688
2685
2686
2687
2688
2618
2628
2638
2633
2635
26*8
2643
2645
2658
2655
2668
2678
2685
2698
2788
2778
27B8
2798
2888
2818
IF0B2=8 THEN RETURN
RETURN
' BOTELLA DIB
DRAW«C1R6U6H2U2L2D2G2D6R4U4L4':PAI
NT(P02+1,158),14,1:PAINT(P02+5,158
) 2 1
RÉTÍIRN
'ENERGIA DIB
DRAN"C1R18U5H565D5E7':PAINT(P02*1,
157)^9,1 :PAINT(P02+3, 158) ,8,1
' DOBLE DIB
DRAWClU18F5B5':PAINT(P02il,152),3
ÍETURN
' ESFERA DIB
CIRCLE(P02.149).18.4,.,1.4:PAINT(P
02,158).4;£lRCLÉ(Pfl2 I 2 145) ,3.15,,
.1.4:PAINTÍP02-2,145),15
Aeturn
'cuadrado dib
draw"c1r18u12l18d12r4u12':paint(p0
2+l,157),18,l:PAINT(P02*5,157),ll,
RETURN
' PLANTA DIB
DRAN B C1R2U6L2D6':PAINT(P02^1.157) 1
6,1:CIRCLE(PQX*1,144) ! 9,1,, 1 I:PAIN
T(PQX+3,148),12,1:CIRCLE(PQ2,144).
6,2,..l:PAINt(PÚ2.144).2:CIRCLE(PÓ
2^1^144), 3,3, n l:PAINT(P02, 144), 3
' ESFERA ROJA- -
CIRCLE(P02. 149). 18.6, ,,1.4:PAINT(P
02.149) l 6:ClRCLE(PÚ2-i, 148) ,8.8..,
1.4:PAINT(P02-1 ,148),8:CIRCLE(P(12'
2,147) ,6.9.., 1.4:PAINT(PQ2-2, 147).
9:CIRCLE(P0í-3.146).4,i8...1.4:PAf
NT(P02-3.147).l8:ClftCLE(P0í-3,147)
^11^,1. 4:PAINT(P02-3, 147), (1
'REPITE-
DRAN'ClR18H565 B :PAINT(P02+3 f 158),4
Aeturn
' hat objeto delante? -
IF X2(NJ2)>=238 THEN RE T l)RN
IF 082=4 THEN SOSUB 5288: RETURN
IF X2(NJ2)=8 THEN RETURN
IF 0B2=3 THEN SOSUB 5488:RETURN
F0RF2=X2(NJ2M6T0 252
IF P0INT(C2.158)<>7 THEN BEEP:G0T0
2648
NEIT
60SUB2188
RETURN
GOSUB 2B88:C0L0R9*RNB(3)t2,5
C0L0R9+RND (3) 12,5
PRESET (95 ,198) :PRINTtl ¡ "¿LO COGES 0
EI=INKEY$
IFE$="S" THEN 60SüB2888:SOSUB2788:
SOSUB2188:60SUB3*88:60T02685
IFE*="N B THENG0SUB2988:60SUB2188:60
T02685
S0T02643
GOSUB 2888
RETURN
' VA HACIA OBJETO
D02=DA2:DA2=((PD2-X2(NJ2))/6)-2
R2=8
RETURN
' BORRA PANTALLA DATOS
LINEO, 288)-(252,183) ,5,BF
2898 RETURN
2988 ' BORRA OBJETO
2918 LINE(P02-8,159MPQ2*28,i35) ,7,BF
2928 SB2=! 1 H
2958 RETURN
2968 ' BORRA PANTALLA DADO
2978 LINE(285,48)-(252,73),5,BF
2998 RETURN '
3888 r JUGADOR LLE6A PUERTA
3818 PUTSPRITE 1,(X2(NJ2) ,128) ,1,18
3815 PUTSPRITE 7,(255.2121,9.2*
3828 PUTSPRITE 2 1 (X2(fij2) ,M) ,1 ,11
3825 60SUB2988:BÉEP
3827 PLArS8M5888L404A605CL8DGER8D6ER8L
4CD04A6" . 'S13H18L404AG05CL8DGER8DG
ER8L4CD04A6 H
3828 PLAY"R8S1H18888L402AG03CL8DGER8DGE
R8L4CD02AG" 'S1H18888L405A606CL8DG
ER8D6ER8L4CD05AG , , , S1H1888801AG02A
L8CACR8ACAR8L4CA
3838 F0RF2=235T0258:LINE(F2,127)-(F2.15
9) . 15 :F0RN2= 1T0358 :NEXÍ :NEXT :GOáuB
4948
3858 X2(NJ2)=4
3868 SU=INT(H0/J2):G0SUB5188
3878 LINE(235.127)-(258,159),7,BF
3888 G0SUB7388:G0SUB296é
3898 RETURN
3188 ' JUGADOR LLE6A SALIDA
3118 X2(NJ2)=241
3198 RETURN
3288 'ESFERULAS DE COLORES
3285 CN2=8:REST0RE 3288
3218 F0RF2=1T06:READ C2.D2
3228 IF A2(NJ2.F2)<>8 THEN PLArSlí11888
L6407A a :ClRCLE(C2.D2) I 7 J l., J 1.4:PA
INT (C2 ,D2) .8 . 1 :CIftCLE ¡C2-2 ¿2-2) .3
,i5,„i.4:PAlllTCCI-3 f DX-3) ,15:011=
CN2+ 1
3238 NEXT
3248 IF CN2=6 THEN GOSUB 7888
3288 DATA 213.58,228,58,243,58,213,66,2
28.66.243, 6¿
3298 RETURN
3388 'JUGADOR RETROCEDE
3385 PUTSPRITE 1 , (X2(NJ1) ,128) ,1 ,18
3387 PUTSPRITE 2, (X2(NJ2) .144).! ,11
3318 FDRF=1T0588:NEXT:60SUB2S88
3338 SU=INT(H0/18)
3348 GOSUB 5888
3398 GOTO 138
3488 ' OBJETO DELANTE JUGADOR
3418 IF X2(NJ2)=>238 THEN RETURN
3428 IF X2(NJ2)=8 THEN RETURN
3468 ON 0B2 GOSUB 3588.3688,3788, .5588,
5988,6388,6788,7888 '
3478 RETURN
3588 'MALETA- — -
3585 COLOR 18:HA2=l*RND(-TIHE)tl8
3518 ON HA2 GOSUB 3538,3548,3538.3548,3
568,3548,3538,3548,3538.3558
3515 RETURN
3538 PRESET15.288) :PRINT#Í .•♦PON*"
3532 60SUB357*
3534 G0SUB4988
3536 GOSUB 5888
3538 60T03567
3548 PRESET(5,288):PRINT#1."*C06E* H
3542 60SUB3578
3544 G0SUB4988
3546 GOSUB 5188
3548 G0T03567
LOS JUECOS ELECTRONICOS
48 MSX
355* PRESET ( 9t v 1 9f ) : COLOR 15 rPRINT»! -T
OMA T0D0":60SÜB49W
3552 SU=N0:60SUB5188
'3554 G0T03567
3568 PRESET(5.198):C0L0R 15:PRINTti ■ 7Q
DOS PONEN:'
3562 G0SUB3578
3564 PRINTtl,"PTS.':B0SUB4988:60SUB4988
:SU=INT(SUtJ2)
3566 60SüB28ee:G0SUB 5828
3567 60SUB2988
3568 RETÜRN
3578 TMtRND(-TIHE)t6M
3571 COLOR 1 5 : PRESET ( 288 , 2M ) : PR I NT 1 1 " P
ULSA'
3572 IF INKEY$=°'THEN SU=INT(RND(-TIHE)
tH0/4):PRESET(185.198):C0L0R 1 sPRI
NTIl^Sü;" •j:FORÍMTOU:HEIT:60T
3573 BEEPt PL A Y • L 1 08S8H5888A w
3575 RETÜRN
3688 'BOTELLA
3685 RESTORE 3698
3618 F0RF2-1T01+RND(2)I26
3628 READ A$,AZ
3638 NEXT
3635 IF A*='UN GENIO' THEN 60SUB 3888 :R
ETÜRN
3637 IF A*=*A6UA BENDITA* THEN 60SÜB 48
88 'RETÜRN
3641 COLOR 15:PRESET(5.198):PRINTtl,'LA
BOTELLA TIENE "sil
3658 60SUB4988
3655 60SUB4788
3668 60SUB2888
3698 DATA A6UA .8. V I NO, 9 .CERVEZA . 7 1 UN SE
NI0 J l i 6ASÉ0SA J l l ÍRANDY,lS l A6UA BEN
DITA.8.UN 6ENf0.8.CHA!1PAN:i2.TEQUI
LA ,38 .ZUMO .8 .VODKA .25 .LECHE .8 .COLA
,8 -PACHARAN ,28 .SIDRA , 18 ,UN 6ENI0.8
.AfiUA BENDITA.»
3692 DATA LICOR DE CAFE V 15.ANIS.12.LIC0
R DE NENTA . 14 ,AGUA MINERAL 8.ÍHISK
T,28,UN GENI0,8 t BATID0,8,UN 6ENIQ,
3695 60SUB2988
3699 RETÜRN
3711 'ENERGIA
3787 PLAT 1 L802S8H18C i
3718 F0RFMT015
3728 IF EN2(NJ2)>251 THEN 3768
3738 EN2(NJ2)=EN2(NJ2)*1
3748 L1NE(ENZ(NJZ>,92)~<ENZ(NJZ>.84),12
3757 NEXT
3768 IF BE2=8 THEN SU=INT(AP/5) :60SUB58
88
3778 GE2=8
3788 60SUB2988:0BZ=8
3798 RETÜRN
3888 ' GENIO
3883 S0UND7.4:S0UND6 1 i8:PLAT "L64S11H18
ABABABABFGF6F6FÉ'
3885 F0RF=lT028íPUTSPRITE 3,(P0Z-3,117)
,2.15:PUTSPRITE 4, (POZ-3,133) ,2,16
:PÜTSPRITE 3 . (P0Z-3 ,117) ,6.13 :PUTS
PRITE 4,(P0Z-3,133),6,14:NÉXT
3818 60SUB2888
3828 COLOR 15:PRESET(5,198) :PRINTil ,'1-
AVANZAR 2-ENERGIA 3-SORPRESA'
3838 E$=INKET$
3835 PUTSPRITE 3,(P0Z-GX2.115+6rZ) ,8.15
¡PUTSPRITE 4 , CPOX-BXI .13i*BY7 J .8.1
6;PUTSPRITE 5, (PQZ-6XÍ ,115+GU) ,GC
2.13:PüTSPRITE 6,^02-6X2.131^21 4588 COLOR 15:PRESET(13I,194) :PRINT#1 ,S
.ÉC2.I4 U: B PTS.' '
3848 IF Eí = B 1 " THEWS0SÜB3988 :RETüftN 4589 PPl^l+RND (3) 1 188
3842 IF E$- B 2*THEN80SUB4888:RETüRK 4518 PUTSPRITE 8. (228,58) .11 ,19:842=19
3844 IF ES="3'T«EN60SUB4188:RETURN 4528 F0RF2=1 TO PPX
38*5 GíZ=-2+RND(3)$4 4525 IF INKEY$<>'*THEN 4588
38*6 GXZ=-2*RND(3)t4 4527 NEXT
3848 GC2=2+RND(3)tl3 4538 PUTSPRITE 8. (228,58) ,11 ,18:S42=1B
3858 60T0 3838 4558 FQRF2=1 TO f*P2
3898 RETÜRN 4555 IF INKE TIO* "THEN 4588
3988 ' GENIO AVANZA 4557 NEXT
3985 60SUB2988 4568 60T0 4518
wl rnlnlw™™ 4581 ^0RF1= 1 T028 :PUTSPR I TEB , ( 228 ,58 ) ,1 5 ,
3998 RETÜRN S42:PLAT'04L64S8N28CA , :PUTSPRITEB,
4888 ' GENIO ENER6IA - (228,58) ,5 ,S4I:NEIT:PUTSPRITE8 f
4885 G0SUB2988 (256,212) .15,542
4818 F0RNZ=!TQ1+RND(2U15 4585 IF S4Í=l9THEN60SU&518Í ELSE 60SUB5
4815 GE2=1 888
4828 G0SÜB3788 4598 RETÜRN
4838 NEXT 4688 ! SORPRESA 5 — RETROCEDEN
4898 RETÜRN 4683 PS2=58+RNB(3)t58
4188 ' GENIO SORPRESA - 4685 F0RH2=8T018
4185 G0SUB2988 4618 RESTORE 1698
4118 S02=1+RNB(3)15 4628 F0RF2=H0J2 :READ A2.C1
4128 ON S02 GOSUB 4288,4388,4488,4588,4 4638 LINE(2,A2)-(2,A2+4) 15
Jlflft $M 4648 BEEP:PAZ=PAU$
Wll %JMcct ■ uii rxA 4643 FORZMTQPAZtNEXT
i??! rn??D R fI A rLT^ E I5 4644 IF PA2)PS2 THEN 4668
4218 £2fe? R , S ! ?8Sf s iI9iS sBET TIHE PR$: 4645 LINE(2 1 A2)-(2,A2*4) ,1
£SET (18,158) :PRINTtl,*SON LAS ';P 4658 NEXT
R*:NEXT 46S7 NEXT
í?2! S Iñl *Ú* RJX=FI:FORHM T 0 2888:NEXT
S^L 3580 p X2(RJ2)<=5 THEN X2(RJ2)=5:60T0
*298 RETÜRN 4495
4388 ' SORPRESA 2 — RETROCEDE 4667 LINÉ(PXKRJZ) l PJ2(RJ2))-(PX2(RJ2) >
4385 FOR F2=l TO DA2+RND(3)I38 PJ2(RJ2H4) .1 :PXZ(RJZ)=PXlíRJZ)-l
4318 X2(NJ2)=X2(NJ2)-3:F0RN=1 TO 58:NEX 4678 X2(RJ2)=XZ(¿JZ)-3
4688 60TQ4666
4312 IF PX2(NJ2)=5 THEN X2(NJ2)=5:G0T04 4685 LINE(2,AZ)-(2,AZ*4) ,1 :PAZ=8
385 4698 RETÜRN
4315 IF X2(NJ2)=<5THEN GOSUB 3188 4788 ' ALCOHOLIMETRO - -
4328 PUTSPRITE 1 , (X2ÍNJ2) ,128) .1 .6 4718 IF A2>8THEN4738 ELSE 4768
4325 PUTSPRITE 7, (X2 (NJ2) ,128) .2.28 4738 PLAY -08L64S12f188CACACAC-
4338 PUTSPRITE 2,(X2(NJ2) .144) .1,7 4732 FQRF2=ACZ(NJ2)T0ACZ(NJZ)*AZ
4348 XZ(NJZ)=X2(NJ2)-3:F0RN=1 ÍO 58:NEX 4735 LINE(F2 1 PJZ(NJ2))'(F2,PJ2(NJ2)^) ,
T 6
Í$S lt<«WWfi28) f l f 4 4748 IF F2*PX2(NJ2) THEN60SUB7188:60T04
4355 PUTSPRITE 7, (X2(NJ2) 128) 2 28 798
4368 PUTSPRITE 2. (X2ÍNJ2) .144) ,1 ,5 4745 NEXT:AC2(NJ2)=F2:GOT04798
4378 LINE(EN2(NJÍ) ,92)-(EN2(NJÍ)-3 1 B4) , 4768 PLAY ■ 03L8S8M5F "
5,BF:EN2(NJ2)=EN2(NJ2)-4:IFENÍ(NJÍ 4762 F0RF2=AC2(NJ2)T0AC2(NJ2)-18 STEP-1
)<=8THEN GOSUB 6888:RETURN 4765 IF FZ=3 THEN4798
4375 LINE(PX2(NJ2),PJ2(NJZ))-(PXZ(NJZ>, 4778 LINE (FZ ,PJZ (NJZ) ) -(FZ ,PJZ (NJZ)*2) ,
PJZ(NJZM),i:Pn<NJZ)=PXZ(NJZ)-l CJ2ÍNJ2)
4388 NEXT 4788 NEXT:AC2(NJ2)=F2
4385 F0RF=1 TO 588:NEXT 4798 RETÜRN
4398 RETÜRN 4888 ' AGUA BENDITA- -
4488 ' SORPRESA 3 SALTA TURNO 4885 B0SUB4895
4418 NJ2=l+RND(-TIHE)tJ2 4818 60SUB2888
4428 GOSUB 2888 4828 COLORI 1 :PRESET (5, 288) :PRINT#1 ,'HAS
4438 COLOR 15.1: PRESET ( 78 , 1 98 ) : PR I NT# 1 , ENCONTRADO AGUA BENDITA'
'SALTO DE TURNO' 4838 G0SUB4988
WJ FQRF2=lT02888:ieT 4831 AB2(NJ2)=AB2(NJ2)*1
4498 RETÜRN 4832 IF AB2(NJZ)=2 THEN60SUB7888
4588 ' SORPRESA 4--REB0HD0 O C. 4835 60SUB2888
4581 SU=INT(l*RND(5)tí10) 4848 COLORI 1 ¡PRESET (5.288) rPRINTIl ,'LA
.ce PR0XIHA VEZ , GANARAS 1
4585 60SUB2888 4858 60SUB4988
4586 CIRCLE(12.197).B.18...1.4:PAINT(12 4878 G0SUB2988
.198) ,18:PRESEt (23.194) :PRINTI1 'P 4898 RETÜRN
HSS'¿5?E5fXí 6 ?AÍ?'ÍÍ D SSS^l?ÍF?l 4895 PWESCTCB.HS) :DRAN-C1R6ü6H2U2L2D26
8H8':PAINT(71.1Í7) I 18:PRESET(85 I 19 2D6R4U4l4* :PAINT(9, 144) ,14,1 :PAINT
4) iPRINTiL-COBES" (13.144) ,11,1
MSX 49
4897 RETÜRN
4900 'BUCLE DE ESPERA
4911 F0RF=lT0i5M:NEXT
4991 RETÜRN
5000 ' SUMA A LA MESA
5003 6OSUB2800
5005 PRESET (20.185) :COLOR RND(l)tl5.5:P
RINTtl S "PÚN:- :SU:" PTS." :PRESET(10
0.200) :PRINT*f,"f PULSA TECLA*
5010 If INKEY$=""THEN5005
5015 6OSUB4900
5020 H0=HQ*SU:60SUB 1B00
5090 RETÜRN
5100 ' RESTA A LA MESA
5103 GOSUB2800
5105 PRESET (20. 185) :COLOR RND(1)I15.5:P
RINTtl -CÓGE: - :SU:" PTS." :PRESET(1
00,200) :PRINTt( "f PULSA TECLA"
5110 IF INKEY$=""THEN5105
5120 HO=HQ-SU:GGSUB 1800
5125 BOSUB4900
5130 IF MO<2THENGOSUB2800:PRESET(5.190)
:C0L0R!5:PRINTtl. B CADA JUGADOR PON
E:":AP:SU=INT(APtJ2):6OSUB5020:6QS
UB4900
5190 RETÜRN
5200 1 EL DOBLE
5210 COLOR15:PRESET(60.190)
5220 PRlNTtl. 'AVANZAS EL DOBLE"
5223 PLAT - L2S8H60ÍA - 'O6L2S8H600C"
5225 FOR F2=1T06:PAINT(P02+1,152),12.1:
FORN2=!TO100:NEXT:PAINT(PO2+1,152)
.3.1: [: ORN2=1TO100:NEXT:NEXT
5230 Mmm
5240 BOSUB2100
5290 RETÜRN
5300 'HASTA DONDE SE JUEGA
5310 COLOR15:PRESET(30.1B5):PRINTil 1 , ¿H
ASTA DONDE SE JUESA?"
5320 PRESET (60.200) :PRINT#1 /UTILIZA LO
S CURSORES»"
5330 FJ2=44
5335 LINE(FJ2.70)-(FJ2,5),8
5340 E$=INKETÍ
5350 IF E*=CHR*(29)THENGOSUB5380
5355 IF E*=CHR$(28)THEN60SUB5385
5360 IF ES=" "THEN 6OSUB5390:RETURN
5370 GOTO5340
5380 LINE(FJ2.70)-(FJ2,5).1:FJ2=FJ2-1:I
F FJ2=<4¿ THEN FJ2=4¿
5382 LINE(FJ2,70)-(FJ2,5),8:RETURN
5385 LINE (FJ2 .70) - (FJ2 .5) , 1 :FJ2=FJ2+1 : I
F FJ2=>l98 THEN f3i=Í98
5387 LlNE(FJ2,70)-(FJ2,5),8:RETURN
5390 LINE(FJ2,70)-(FJ2,5) ,10:6OSUB2800
5395 RETÜRN
5400 ' COGE ENERGIA
5403 PLAY , L32S8H60000ABCDA» : CEGFABCFGABF
EYL32AAS8H10000CDEFCAE6BABCCCEF
5410 FQRF2=1TQ29
5420 LINE(PQ2+5,148)-(X2(NJ2)*7.130*F2)
.RND(2)tl5:FORN2=lTO50:NEXf:LINE(P
02*5 f 14B) - ( X2 < MJI ) +7 , 1 ) f 7
5430 NEXT
5440 6OSUB3700
5490 RETÜRN
5500 'ESFERA
5505 IF SD2=1 THEN RETÜRN
5510 FOR F2=10 TO 0 STEP-1 :CIRCLE(P02 ,1
49).F2,7., .1.4
5512 SOUÑD1 .Ft :$0UND8 . 16 ¡S0UND7 .0 :SOUND
6^8:S00ND 13,8:SflUNDll ,F2:S0UND12,
5515 NEXT:ES2=0
5517 PLAY "S12N10A -
5520 GOSUB2900
5525 EF2=1+RND(-TINE)I10
5530 FORF2=8TO250 STEP 7
5540 IF RND(5)I10<EF2THEN A2=190*RND(4)
tl2:CIRCLE(F2.A2),3*RND(4)l3,l 1M l
.4:PAINT(F2,AÍ).1+RND(2)I15 I 1:É¿Í=
ES2+1:PLAY"L64O8S8H1000C
5550 NEXT:FORF2=1TQ1000:NEXT
5555 ES$=STR$(ES2)
5570 6OSUB2800
5580 COLORI : PRESET (5 , 190) íPRINTIl , "¿CUA
NTAS ESFERILLAS HABIA 7-
5585 GOSUB5600
5590 RETÜRN
5600 ' ENTRADA DATOS ESFERA
5605 EF$ = " "
5610 F0RF2=2T0LEN(ES$)
5620 EI=INKEY*:IF E$= -- THEN 5620
5625 PLAY"S9H1000A"
5630 EF$=EF$+E$
5640 NEXT
5650 IF EF$=ES$ THEN GOSUB5700 ELSE GOS
UB5800
5690 RETÜRN
5700 ' ACIERTA LAS ESFERAS -—
5710 F0RF2=3TQ252 :L INE (F2.208) - (F2 .183)
.RND(3)tl3:NEXT:FORFl=lTO1000:NEXT
5720 5U=ES2
5730 IF MO<SU THEN SU=SU-l:GOTO 5730
5740 GOSUB5100
5790 RETÜRN
5800 ' NO ACIERTA LAS ESFERAS
5810 FORF2=15TO6STEP-1:LINE(3.208)-Í252
,183),F2.BF;NEXT
5B20 ¿OLORÍ 0 ,6 :PRESET (20 ,190) :PRINTI1
HABIA ":ES2;"ESFERILLAS"
5830 6OSUB4900
5840 BOSUB2800
5850 SU=ES2
5860 6OSUB5000
5890 RETÜRN
5900 'CUADRADO
5903 A12=0:A22=0:A32=0:A42=0:A52=0
5905 LINE(3.208)-(252.183) i 14,BF
5910 F0RF2=5T0245STEP8:A2=Í+RND(4)!14
5920 IF A2=2ORA2=5ORA2=8ORA2=10ORA2=15T
HENLINE(F2,190)-(F2i5.200).l.B:PAI
NT<F2^1 , 19i) ,A2_-1 :PLAT-L64Ó8^ "
5925 IF A2=2 THEN A1Í=A12*1
5926 IF A2=5 THEN A22=A22*1
592^ IF A2=8 THEN A32=A32+1
5928 IF A2=10THEN A42=A42+1
5930 IF A2M5THEN A52=A52*1
5935 NEXT
5940 GOSUB4900;BOSUB2800
5945 A2=1+RND(2)!5
5950 ON A2 GOSUB 6000,6020,6030,6040,60
50
5960 CQLOR15:PRESET(5.190):PRINTtl, - ¿C
UANTOS DE COLOR '¡A*:""
5970 E*=INKEY$:IF EÍ="'THÉN5970
5975 PLAY "S8H10L64O8A"
5980 IF VAL(EI)=AA2 THEN SOSUB 6100 ELS
E 6QSUB 6200
5990 RETÜRN
6000 'RUTINAS CUADRADO COLORES—
6005 A$='VERDE":AA2=A12
6010 RETÜRN
6020 A$="AZUL':AA2=A22
6025 RETÜRN
6030 A*="RQJ0":AA2=A32
6035 RETÜRN
6040 A$='Af1ARILL0":AA2=A42
6045 RETÜRN
6050 A$="BLANC0":AA2=A52
6055 RETÜRN
6100 ' ACIERTA CUADRADOS-
6110 FORF2=183TO208:LINE(3,F2)-(252,F2)
.RND(3)I13:NEXT:FORF2=1TO1000:NEXT
6120 áU=AA2$INT((AP/J2))
6130 IF MOsSU THEN SU=SU-1:6QT0 5730
6140 6OSUB5100
6190 RETÜRN
6200 ' NO ACIERTA LOS CUADRADOS
6210 FORF2=15TO6STEP-l:LINE(3,20B)-<252
.183).F2,BF:NEXT
6220 ¿OLORÍ0,6:PRESET(20 i 190):PRINT#l. -
HABIA -:AA2;"DE COLOR ';A$
6230 6OSUB49Í0
6240 6OSÜB2800
6250 SU=AA2$INT((AP/J2))
6260 6OSUB5000
6290 RETÜRN
6300 ' PLANTA
6305 XE2=4 : YE2=1 92 :ST2=0 :BEEP :6OSUB2800
6310 FORF2=40TO230STEP10:A2=RND(2)tl0
6320 IFA2 >6THENC IRCLE (F2 ,204 ) .4 , 1 . . . 1 :P
AINT(F2,204).2.1:ClRCLE(f2 ! l ¿Í4).
2,3, ll l:PAINf(n-2 1 204) l 3:PLAÍ - L64
O6SÍH1000A -
6325 IFA2<4THENCIRCLE(F2,1B7),4,1„,1:P
AINT(F2,187).2.1:CIRCLE(F2-1.187),
2p.,,l:PAINT(l í 2-l,187),3:PLAY"Slh
1
6330 NEXT
6340 PUTSPRITE 8. (XE2,YE2) ,15,12
6350 IF INKEY$= ,¿ THEN 6350
6355 PLAY-S1M1 0000C 8 : S0UND6 , 20 : S0UND7 , 1
6360 E$=INKEY$
6365 XE2=XE2+2
6370 PUTSPRITE 8. (XE2.YE2) ,15.17
6375 IF P0INT(XEÍ*8,YÉ2+16)<>5 OR POINT
(XE2+5,YE2+2)<>5 THEN GOSUB 6600:R
ETURN
6380 FORF2=1TO100:NEXT
6385 IF E*=" "THEN PLAY°L64S1H10000C" :6
OSUB6500:IF XE2=256THEN RETÜRN
6390 XE2=XE2+2
6395 PUTSPRITE 8.(XE2.YE2) ,15,12
6400 FORF2=lTO10í:NEXÍ
6405 IF ST2=1 THEN PUTSPRITE 8,(256.212
).15.12:RETURN
6410 IF XÉ2=>240 THEN PUTSPRITE 8.(256,
212),15.12:SU=HO:6OSUB5100:RÉTURN
6450 G0T0636Í
6500 ' SALTO DE ENANO
6505 F0RF2=1T03
6510 YE2=YE2-3:XE2=XE2+2
6515 PUTSPRITE 8. (XE2.YE2).15,12
6520 FORN2=lTO10Í:NE)(T:NEXt
6523 IF XE2=>241 THEN GOTO6590
6525 XE2=XE2*2
6526 PUTSPRITE 8, (XE2.YE2) ,15,12
6527 IF INKEY$=" "THEÚ6532
6529 IF P0INT(XE2+8.YE2*16)<>5 OR POINT
(XE2*7,YE2+2><$5 AND XE2<2*5 THEN
GOSUB 6600:BOTO6590
6530 60T06523
6532 F0RF2=1T03
6535 YE2=YE2+3:XEX=XE2+2
6540 PUTSPRITE 8. (XE2.YE2) .15.12
6543 IF P0INT(XE2+8,YÉ2+16K>S OR POINT
■traen
50 MSX
(XE2+5,TE2+2)<>5 AND XEK245 THEN
SOSUB 0689:60106590
6545 FORN2=!TO180:NEXT:NEXT:SET=8
6598 RETURN
6608 'ENANO CAE EN MAL SITIO
6605 PLAY-L6407S12H25C - :XE2=256
6618 SU=H0:ST2=1
6615 PUTSPRITE 8, (XEI,2I2) ,15,12
6616 PUTSPRITE B (XEI 212) 15 17
6628 60SUB 5008
6698 RETURN
6708 ' BOLA DE FUEGO
6710 LINE(3,20B)-Í252,1B3),1.BF
6715 LINE(3.208)-(251.1B3)!l$,B
6720 XEI=5:fEI=194:STÍ=0:BÉEP
6725 FORF2=40TO230STEP10:A2=RND(2)tl0
6738 IFA2>5THENA12=193+RND(3)tll:LINE(F
2,208)-(F2+2.A12).6.BF:LINE(F2.208
)-(FI,AlI) ,l¿,B:LlNÉ(FI f A12)-(^X+2
A12) 9
6735 ÍFA2<áTHENA12=190+RND(3)tl0:LINE(F
2, lB3)-(F2+2 f An) ,4 .BF :LINE (FI . 183
MF2+2.A12).5.B:LINE(F2.A12)-lF2*
2.A12) ! 7:PLAf i Sl(11000L64d6D" •
6740 ¡EXT
6745 LINE(240,208)-(252 5 1B3) ,2.BF:LINE(
240,208)-(242 l 183) 1 3 I BF:LlNE(250,2
08)-(252,lB3) 12.BF
6750 l INE ( XE2 ¡ í E2 ) - ( Xt2*4 . YE2+5) ,15.B
6760 SOSUB 68*8 1
6790 RETURN
6800 ' HOVIHIENTO CUADRADO BLANCO
6810 A2=STICK(0)
6812 LINEIXE2 . YEI) - (XE2+4 .YEI+5) .l.B
6B15 IFA2=30RA12=3THENXE2=XEZ*1 :M=3:I
F XE2=>240THEN XE2=240
6820 IFA2=70RA12=7THENXE2=XEZ-1:A12=7:I ,
F XE2=<3THEN XEZ=3
6825 IFA2=10RA12=1THENTE2=TE2-1 :A12=1 :I
F TE2=<184 THEN YE2=1B4
6830 IFA2=50RA12=5THENYE2=TE2+1 :A1I=5:I
FYEI=>202THENYEI=282
6835 LINE(XE2 J TE2)-(XE2+4.yEI+5) ,15,8
6848 SU=INT(«ÚtXE2/240):CÓLOR15 l l:P^ESE
T(120.85):PRINTtl.SU
6845 1F P0!NT(XE2-l,TEl-l)<>ÍTHEN SOSUB
6900:RETURN
6850 IF P0INT(XE2+5,TE2-1)<>1THEN SOSUB
6900 ¡RETURN
6855 IF P0INT(XE2-l,ÍE2+6)OlTHEN SOSUB
6900 'RETURN
6860 IF PÓINKXEZ+5, YEI+6) OITHEN 60SUB
6900:RETURN
6890 6OTO6810
6900 ' CHOCA CON PARED
6918 PLAY"L2S9H10800A';FQRF2=1TO4000:NE
XT
6920 6OSUB2800:PRESET(70,190) :PRINT#1 ,"
PULSA SPACE":BEEP
6930 E$=INKET$
6940 IF E$=' "THEN6955
6950 GOTO6930
6955 SU=INT(HO$XE2/240)
6960 IF XE2>=230 THEN SOSUB 5100:6OTO69
98
6970 SOSUB5000
6990 RETURN
7880 ' JUGADOR SANA
7005 FORF2=1TO20
7010 LINE(FJ2.70)-(FJI f 5) l 15
7015 FORN2=1TÜ100:NEXT
7820 LINE(FJ2.70)-(FJI,5),1
7025 FORN2=1TÚ100:NEXT
7030 NEXT
7835 SCREEN2:C0L0R 15,4,4:CLS
7840 FORF2=10TO11:PRESET(F2.30):PRINTI1
/SANADORA" :J$(NJ2):NÉXT
7045 LINE(9.38)-(170,3B).15
7050 FORF2=20TO2l:PRÉSET(F2.100)iPRINTI
l/TE LLEVAS "íKO:" PESETAS' :NEXT
7055 PORF2=20TO21 :PRES£T(F2.188) :PRINTI
1 "¿OTRA PARTIDA?" :NEXÍ
7060 EÍ=INKEY$:IFE$="S"THEN7080
7865 IF EI='N'THEN9000
7070 GOTO7068
7888 CLS
7085 FORF2=20TO21 :PRESET(F2 .180) :PRINTI
1,'¿L0S WISHOS^- :NEXT
7087 EÍ=INKEÍ$:IFE$= , S , THENBEEP:SCREEN0
:COLOR 2.1:GOSUB1230:ERASE CJ2.PJ2
J EN2 J PX2 I X2,AC2,AB2 I A2:HJ2=t:BflT07
I
7090 IF E$='N'THEN RUN
7095 BOTO7087
7108 1 MUERTE JUGADOR
7105 PLAT 'S10I110000AAAACBBCDEFBABCDEEF
'"S14H1000ABCDEFEDFBACCDEF66". i O4
CDECDECDECDEFEDE'
7110 G0SUB2888
7130 HJ2=HJ2Ü
7140 FQRF2=15T01STEP-1:IINE(PX2(NJ2).PJ
2(NJ2))-(3.PJ2(NJ2)M),F:,BF:F0RN2
=1TO50:NEXÍ:NEXT
7158 GOSUB 7900
7160 XZ(NJI):0
7190 RETURN
7200 'BOLA DE COLOR
7218 FQRF2=1T06:IF AZ(NJ2.F2>=0 THEN A2
(NJl.F2)=A2:GOSUB320é ELSE NEXT
7290 RETURN
7300 ' ESFERAS IGUALES
7310 FORN2=1TO6:A2(NJ2,H2)=0:NEXT
7320 6OSUB2960
7390 RETURN
7800 ' SALTO DE TURNO
7805 C0L0R15:PRESET ( 170,200) ¡PRINTIl.'P
ULSA'
7818 PAIMKPOX+3.158) ,4 , 1 :REI=8 : IFINKEY
$<> B, THEN7840
7820 PA INT (P02+3 . 158) ,15,1 :RE2=1 : IF INKE
T$O"THEN7840
7830 6OTO7810
7841 IF REZ=1THENCQLQR15:6OSUB4400
7880 6OSUB4900:GOSUB2900
7890 RETURN
7910 ' JUGADOR PARPADEA
7905 BEEP
7910 F0RNMTQ3
7920 PUTSPRITE 1 , (XKNJI) ,128) ,15.4
7925 PUTSPRITE 2 . (XZ (NJX) 9 144) . 15 .5
7930 FORHI=1TO10Í:NEXT
7935 PUTSPRITE 1 , (XI (NJX) ,128) ,1,4
7940 PUTSPRITE 2 (X2ÍNJ2) 144) 1 5
7945 F0R«X=lT01ié:NEXT
7947 PLAr'S8HlL64ACDEFAC'
7950 NEXT
7990 RETURN
8000 ' CIRCULO DE COLOR
8010 A2=1+RND(2)I15:6OSUB7200:RETURN
8098 RETURN
8108 RESTOREB190:FORF2=30720TO31383
8105 READ A2:VP0KEF2,A2
8110 NEXT
8130 RETURN
8190 DATA 0,0,0,0,0,0.1,2.3,1.0,0.0,0,0
• • • 1ÍB 1Í2 1Í2 1¿B § •
.0.0.0 .0.0 .48 ,88 .120 .48 ,0,0,0,0,0,
0,ü. r,0. 0.0, 0,0, 0,0, 0,0, 0,0, 0,0,0,
12,22,30,12,0
8191 DATA 0.48.88,128.48.0.8,8.8.8,8.48
,88.124,48,0.0,11.22,30, lí,0.0,é.0
,0.8, 12, 22,38, [2,1,1 48,88 l$l 48.
0,48,88 1 1
8192 DATA 120,48.0,48,88,120.48.0.0,12,
22,30.12.0,(2,22,30 12,¿,1¿.Í2>
^40 64 1 1
Bl«3 DAT¿ 192,224 ,192,192 ,192,192.192,1
92.63, 63,63,59.*3,75.51 ,l3,3\3,3,
3,3.3 3.l92'l9Í.lÍ2.Í92:i92 192 19
2^2, 192,192, 192,l92,!92,2Jí,2J8,
8194 DATA 8,15,31,58,52.48.17,8,7,15.7,
15. 3!. 31 ,31 .31 ,é,2¿4,248,B,64,4é,é
,24*. 1 92 ,224 , 192 ! 192 , 1 92* 192 , Í92 ! 1
92.3Í, 31.29,9,9.7, 14, 14,28,20,56 5
6 .í 12'24é,254 124
8195 DATA 224 , 22* ,22* . 1 92 , 192 ,224 ,96,1 1
2,112.56,56,59,31 .31 , 14 .4,8.48 ,9B.
| e,é,í,ll8,192;iÍ2 , ,l¿8',í;i2,22;3l,
8196 OAÍA 8.48.88, 121.48.8.1,2,3.1,». 48
.8B.12í.4á,8,8.lJ.2¿.j8.1í,j,{2é.l
92,Í92,Í28.8,1Í,2Í,3Í,12,8 3 ,7,15,
15.15,7.7,3
8197 DATA 7,15 ,31 .31 ,63.63 ,63,63. 192,22
4.24e.248,24Í.2¿4.224'l92\22\24Y
248.248,252 ,252,252,252,63.59 59.5
9 ,39,43.51 .3.3.3.3.3.3.31 ,63 .63 ,25
2.228.228.he.228,2l2.2í4:i9¿
8198 DATA 192, 192, (92.192, 192,248,252,2
52 .38 .68 .62,68 .24 .44 ,92.92 ,92 .92 1
6, Í6,Í6,Í6, 16.28,8, 0,0.4,0.0,0,0 8
.8,8,8,8,8,8.8,1,3.55,125,255,127,
55*7 3*3 ,7'l5.Í5 3Í.3Í.31
8199 DATA 128.2*8,248.248.224.224.192.1
92.192,192,224,248,248.248,248.2^
ém^M :¡:
8,8,224.248,48,224.8
8288 DATA 1,2,21,48.85,42,21.2.2,1.2,5.
18.21 .18,21 ,8.144.88 16Í.¿4 1¿8 6Í
. 1 28 ,64, Í2B ,64 ,160,80 , 1 6¿ , 80 , 1 68 , 2
í .10,5,2.5,2,1>
8281 DATA 5, 10.2», IÍ.1.0.8. 1.88,161,64,
128 ,64, 128. 8,8,».»,». fáé.80.32 64
Í.8.38,6e.62.6í,28.44,llí,lí8,íl6,
44,40.68,68.133 23Í
8282 DATA 0,8,8,8,8,0,8,8,8,8,8,8,8,0,0
82»4 ¿ATA 3,15,31 ,63,127,127,255,255
8285 DATA 255,255,127.127 ,63 131 .15,3.19
2,248.248,252.254.254.255.255 2$5,
255 .254 .254 .252 .248 .24» .192 ,13,7
15^1 ,63,127,255,255,127,63,31 ,15,
8286 DATA 1 28 , 1 92 ,224 .240 .248,252,254,2
55 , 255 . 254 , 252 . 24B,24i .224 . 1 92 . 1 ¿8
¿Vi 3 9ÍÍ92' \W ¿' bl' i»' 92'
9»0» ' ' F 1 nAl Dt PR ÓGR A Aa- --------- - - -
9005 SCREEN5:CLS
9010 FORFI=0TO256
9020 C0L0R1+RNDÍ2) »15:LINE(F2,0))-(FI ,21
0):L!NE(»,FI)-<256,FI)
9031 NEXT
9040 6OSUB4900
9050 DEFUSR=M»:J=USR<»)
MSX 51
¡A ven tú re;
a entrar
en sus disl
con este
programa
D bienvenidos a una nueva di-
Dynensión en el uso de los
^Jdiskettes! Con este progra-
ma podrá controlar de forma
exacta, y a su entero gusto, la infor-
mación grabada. Trabajos tan in-
teresantes como modificar un pro-
grama sin tan siquiera tener que
cargarlo en memoria, o recuperar
ficheros borrados por error, pue-
den hacerse sin mayor dificultad.
EDISK es ideal para estudiar fiche-
ros del DOS (extensiones .COM y
.SYS), que no pueden cargarse di-
rectamente desde el BASIC. Con
él es posible cargar cualquier sec-
tor del diskette, modificarlo por
medio del editor y devolverlo lue-
go a su sitio, trabajando en forma
parecida a como lo hace el monta-
dor de una película.
Conceptos previos
Para trabajar directamente so-
bre el diskette conviene tener cla-
ras algunas ideas sobre cómo es-
tá organizado. En el articulo «Los
diskettes al descubierto», publica-
do en el número 1 8 de esta revista,
se estudiaron los puntos básicos.
Como repaso, veamos algunos
conceptos importantes.
Para definir la posición de un
sector dentro del diskette se recu-
rre a su número de orden «lógico»,
es decir, si un diskette tiene 720
sectores nombraremos cualquie-
ra de ellos con un número entre 0
y 719, como si estuviesen uno a
continuación de otro sobre una
cinta. Este sistema evita tener que
hacer referencia a pistas o caras.
De todas formas, para aquellos
usuarios que tengan curiosidad
por saber cómo está físicamente
distribuido el diskette, la figura 1
puede servir de aclaración.
Un diskette tiene, en principio, 4
partes bien diferenciadas: el pro-
grama de carga del Sistema Ope-
rativo (BOOT), el mapa del disket-
te (FAT=File Allocation Table), el
directorio y la zona de datos del
usuario. Cada una de estas partes
va a continuación de la otra, co-
menzando con el BOOT, que va
en el sector 0. La extensión de la
FATy del directorio dependen del
tipo de diskette que se esté usan-
do. EDISK da el comienzo de cada
una de estas partes.
Cada entrada al directorio tiene
32 bytes de longitud y está organi-
zada de la siguiente forma:
Bytes 0-10: Nombre del fichero.
Si este nombre no ocupa los 1 1
bytes, los que estén libres quedan
ocupados por espacios (&H20). Si
el fichero ha sido borrado, el pri-
mer carácter es &HE5.
Byte 1 1 : Tipo de entrada al di-
rectorio. Normalmente es &H20
(archivo). En futuras versiones del
MSX-DOS pueden aparecer tam-
bién las siguientes, que están pre-
vistas y son usuales en MS-DOS:
&H10: Subdirectorio.
&H27: Fichero oculto, del Siste-
ma o de sólo lectura.
Bytes 12-21: Están reservados
para usos futuros. Deben ser to-
dos &H00.
Bytes 22-23: Hora de creación
del fichero, en sistemas dotados
de reloj.
52 MSX
Bytes 24-25: Fecha de creación
del fichero.
Bytes 26-27: Primer cluster del
fichero (1 cluster = 2 sectores =
1024 bytes = 1 Kbyte). Formato
byte bajo-fc>yte alto).
Bytes 28-31 : Longitud del fiche-
ro en bytes. El byte 28 es el más
bajo.
La FATes un conjunto de punte-
ros de 3 nibbles (12 bits) que sir-
ven para localizar los clusters que
forman cada fichero. Estos punte-
ros van numerados comenzando
con el 0; por cada uno de ellos hay
un cluster en el diskette. Los dos
primeros no se usan para localizar
clusters; por ello, la numeración
de los clusters comienza con el 2,
que contiene los dos primeros
sectores de datos. El contenido de
estos punteros es el número del
siguiente cluster o &HFFF, si se ha
llegado al final del fichero. La figu-
ra 2 puede servir para aclarar un
poco el funcionamiento de la FAT.
Usando EDISK
Antes de comenzar a trabajar es
necesario tener una idea de dón-
de está la información que se
quiere manejar. Para ello puede
ser útil el programa «Super Dir»,
publicado en el número 22 de
MSX MAGAZINE, que permite sa-
ber cuál es el primer sector de ca-
da uno de los ficheros contenidos
en el diskette.
Una vez conocido este dato,
arranque EDISK. La cuenta atrás
que aparece al principio corres-
ponde al almacenamiento de
unas rutinas de código máquina.
A continuación aparecerá una lis-
ta con los parámetros más impor-
tantes del diskette. Conviene to-
mar nota de dónde comienzan la
FAT, el directorio y la zona del
usuario. Pulsando RETURN (o EN-
TER) y aparecerá el Menú del Edi-
tor.
Lo primero que debe hacer es
MSX 53
utilidades
seleccionar un sector por medio
de la opción 1. El programa no
permitirá introducir un número de
sector fuera de los márgenes que
se indiquen. Una vez introducido
este número pase a la opción 2,
que es el editor propiamente di-
cho.
Al ser insuficiente la pantalla pa-
ra representar un sector completo
(5 1 2 bytes), éste se divide en 3 pá-
ginas a las que se puede tener ac-
ceso pulsando las teclas F1 (Pági-
na anterior) y F3 (Página siguien-
te). Para cambiar un byte puede
elegir entre editar su valor hexade-
cimal o su equivalente ASCII. Para
ir a la zona ASCII, pulse la tecla -»
(TAB en algunas máquinas). Para,
volver a la zona HEX pulse «- (BS o
BACKSPACE).
Para alterar un byte, lleve el cur-
sor a su posición HEX o ASCII. Si
elige HEX, deberá teclear 2 carac-
teres (los que no sean cifras hexa-
decimales válidas serán ignora-
dos), con lo que el cursor pasará a
la siguiente posición. Si elige te-
clear caracteres ASCII, lo cual re-
sulta muy útil cuando se trata de
editar mensajes legibles, sólo po-
drá usar los códigos del &H20 al
&H7E, o sea, los caracteres numé-
ricos, alfabéticos y de puntuación.
Si quiere modificar un carácter de
control o un código extendido (ca-
racteres &H80 al &HFF) debe in-
troducir su código hexadecimal.
En cualquiera de los dos casos, al
modificar un byte cambian al mis-
mo su representación hexadeci-
mal y ASCII. Para salir del editor
pulse F5.
Si desea grabar el sector modifi-
cado, pulse 3 en el menú de op-
ciones. Si tiene conectada una im-
presora de 80 columnas, puede
obtener una copia impresa del
contenido del sector con la opción
4. Para trabajar con otro diskette,
use la opción 5; para terminar, use
la opción 6.
Si hay un error en alguna opera-
ción con disco o impresora, el pro-
grama lo advertirá, haciendo una
pausa para permitir corregir el
error. Pulsar ENTER para continuar
usando el programa, después de
haber comprobado cuál fue la
causa del error.
Posibles aplicaciones
Cada usuario podrá encontrar
múltiples ocasiones de usar este
programa. Hay, sin embargo, dos
aplicaciones muy interesantes so-
bre las que vamos a dar algunas
indicaciones.
1. Modificación de mensajes
ASCII. Si tiene un programa que
da sus mensajes en inglés, por
ejemplo, puede interesarle modifi-
carlo para que aparezcan en es-
pañol. Para esto era necesario
hasta ahora intentar listar o, aún
peor, desensamblar el programa.
Resulta muy fácil hacerlo usando
la parte ASCII del editor. La única
precaución a tomar es que los
nuevos mensajes tengan la mis-
ma longitud que los originales, re-
llenando los huecos que puedan
quedar libres con espacios. Debe
tener en cuenta los posibles ca-
racteres de control (retornos de
carro, etc.). Generalmente, los
mensajes ASCII acaban en un ca-
rácter que marca su final. En los fi-
cheros del DOS es el signo $
(&H24); en la ROM se usa &H00.
No hay, por tanto, una regla fija.
2. Recuperación de ficheros bo-
rrados. Es muy frecuente dar una
orden KILL o DEL equivocada.
Con este programa puede recu-
perarse del susto si lo usa inme-
TxsKerre. "pe simple: caza, cok/
0040 SeOTOR^S" RoR PISTA
~t>\STfc/8Lfc/ON> Ve. S£ODR£S 6N UTO
D/SK£TT£ V£ . LOS" NUNV¡=f20S
FAT
P/ZECTORJO
0 z
0 0
f3
NUrO€£^OON T?é LOS
PUMPEÍ20S
fe
1
F A
c
1
F
F
F
0
0
0
(7)
F
0
F
F
FcuB4 2.
IOCALX2AGCM VE UN fTCHGUO QUE OCUPA 4 OJJST&S (4 Kbr) B\j UN Pl^re
t^: SO Pistas, ^ secrof^s: FbR. pista, simple c*&4
diatamente después de tener el
error. El efecto de estas órdenes
sobre el contenido del diskette no
es tan inmediato como pudiera
parecer; su única consecuencia
es que el primer carácter del nom-
bre del fichero borrado pasa a ser
&HE5, y que los punteros corres-
pondientes de la FA T toman el va-
lor &H00. Por tanto, es posible «re-
sucitar» el fichero si se vuelven a
reconstruir su nombre y punteros.
Esto último puede resultar más
complicado, ya que los clusters de
un fichero no tienen por qué ser
consecutivos. Si no tiene seguri-
dad de poder reconstruir la FAT, lo
mejor es que recupere la mayor
parte posible del fichero con una
orden apropiada (LOAD, BLOAD o
OPEN) y lo grabe de nuevo.
La potencia de este programa
es tan grande como su posible po-
der destructivo si no se tiene un
mínimo de cuidado al usarlo. Es
conveniente saber que cualquier
error cometido en la edición pasa-
rá al diskette al grabar el sector;
por ello debe, sobre todo si usa el
programa por primera vez, copiar
en otro diskette el fichero que de-
see modificar, pasándolo al primer
diskette sólo cuanto tenga seguri-
dad de que los cambios hechos
son correctos.
Debe evitar alterar la MI si no
tiene certeza de lo que va a hacer.
Al depender de ella la localización
de toda la información grabada en
el diskette, cualquier error cometi-
do al modificarla puede tener
efectos desastrosos. Igualmente,
debe tener cuidado cuando traba-
je con el directorio. No es aconse-
jable modificar los campos que
controlan la longitud y localización
del fichero. Tampoco debe inten-
tar recuperar un fichero borrado si
después ha grabado uno nuevo,
ya que seguramente habrá ocu-
pado los sectores que correspon-
dían al antiguo. Si reactiva la pri-
mera entrada, los punteros de la
FAT que la controlen coincidirán
con los del nuevo fichero, lo que
puede dar lugar a la destrucción
de ambos en alguna operación
posterior de grabación o borrado.
Referencias
Este programa usa las siguien-
tes rutinas de usuario:
USR1 : Creación de un juego de
caracteres en vídeo inverso.
USR2: Inversión permanente de
una cadena de caracteres.
USR3: Inversión alternativa de
una cadena de caracteres.
Es conveniente grabar el pro-
grama antes de ejecutarlo por pri-
mera vez ya que estas rutinas in-
vierten varios de los mensajes que
aparecen, lo que puede dar lugar
a resultados extraños si se lista en
impresora.
Se han empleado las siguientes
variables:
A$, B$, C$, D$, E$, F$, G$, H$:
Usos diversos.
K, K$: Lectura del teclado.
CR$: Control del cursor.
B: Usos diversos.
C: Contador.
N: Bucles.
X, Y: Coordenadas de LOCATE.
SE: Sector en edición.
BY: Puntero en memoria.
PG: Número de página.
PD, UD: Direcciones primera y
última de la página.
NSD: Número de sectores.
DPB: Puntero al Drive Parameter
Block.
DMA: Puntero a la zona DMA.
BID: Byte identificador del dis-
kette.
Lorenzo Hernández Talavera
MSX 55
utilidades
1000 'mmimmtimtmmttmm
1010 't *
1020 '* MSX MAGAZINE «
1030 '* EDISK t
1040 '* (C) 1987 Lorenzo Hernández t
1050 '* t
1060 'tmmtmtttmmttttttmmt
1070 '
1080 CLEAR 200,&HE000
1090 ON ERROR GOTO 3140
1 100 DEFUSR1=S<HE000 :DEFUSR2=fcHE028 :DEFUS
R3=Í<HE03E
1110 WIDTH<40) :KEYOFF:CLS
1120 A$="EDISK" :B$="p" :C$="r" :D$="Lorenz
o Hernández " :C=10
1130 E$=" ":F$=" ":G$="
" :H$=E$
1140 FOR N=l TO C
1150 LOCATE 17,N:PRINT A$
1160 LOCATE 17,N-1:PRINT E$
1170 LOCATE N+8,12:PRINT B*f
1180 LOCATE N+7,12:PRINT Ft;
1190 LOCATE 30-N:PRINT C$ ;
1200 LOCATE 31-N.-PRINT Gí;
1210 LOCATE 11 ,24-N:PRINT D*;
' 1220 LOCATE 1 1 ,25-N :PRINT H$;
1230 NEXT N
1240 LOCATE 19,12:PRINT "o";
1250 FOR N=l TO 8
1260 LOCATE 0,24:PRINT
1270 NEXT
1280 LOCATE 13,12:PRINT " INICIALIZANDO"
1290 LOCATE 1 1 , 1 4 : PR I NT "ESPERE , POR FAV
OR"
1300 FOR N=!<HE000 TO &HE04F
1310 READ K$:POKE N , VAL ( "&H"+K$)
1320 LOCATE 18,20:PRINT USING "##";&HE05
0-N
1330 NEXT
1340 B=USR1(0)
1350 B=DSKF(0)
1360 CLS
1370 DMA=PEEK <i<HF351 ) +256IPEEK (&HF352)
1380 DPB=PEEK (&HF355) +256tPEEK (&HF356)
1390 BIB=PEEK(DPB+1>
1400 PRINT "Drive en uso: ";:PRINT USR2(
* "+CHR$(PEEK(DPB)+65)+" ")
1410 LOCATE 8,2:PRINT USR2 ( " ANALISIS DE
L DISKETTE ">
1420 PRINT :PRINT "Pistas
• » »
1430 IF (BID AND 4)=0 THEN B=80 ELSE B=4
0
1440 PRINT USING "#######" ;B
1450 PRINT :PRINT "Sectores/pista
■ ■* i
1460 IF (BID AND 2>=0 THEN B=9 ELSE 8=8
1470 PRINT USING "#######" ;B
1480 PRINT zPRINT "Caras
■ • " 5
1490 IF (BID AND 1)=1 THEN B=2 ELSE B=l
1500 PRINT USING "#######" ;B
1510 PRINT :PRINT "Primer sector FAT
• • »
1520 PRINT USING "#######" ;PEEK (DPB+8) +2
56$PEEK(DPB+9)
1530 PRINT :PRINT "Primer sector DIRECTOR
10" 5
1540 PRINT USING "#######" jPEEK (DPB+17) +
256»PEEK(DPB+18)
1550 PRINT :PRINT "Primer sector DATOS ..
H .
1560 PRINT USING "#######" ;PEEK (DPB+12) +
256tPEEK(DPB+13)
1570 PRINT :PRINT "Entradas al directorio
• >
1580 PRINT USING "#######" ;PEEK (DPB+1 1 )
1590 NSD=PEEK (DPB+12) +256IPEEK (DPB+13) + (
PEEK(DPB+14)+256tPEEK(DPB+15)-l) 12
1600 PRINT :PRINT "Capacidad formateado .
. ." ;NSDt512;"b y tes"
1610 PRINT SPC(27) ;USING"####" ;NSD5 :PRIN
T " sectores"
1620 LOCATE 5,22:PRINT USR2(" Pulse RETU
RN para cont inuar" ) ; :LINE INPUT K*
1630 '
1640 ' ** MENU *t
1650 '
1660 CLS
1670 LOCATE 9,1:PRINT USR2(" Opciones de
1 EDITOR ") :PRINT:PRINT
1680 PRINT USR2(" 1 ") ;
1690 PRINT " - Seleccionar sector " :PRINT
1700 PRINT USR2(" 2 ") ;
1710 PRINT " - Revisar/Editar sector" :PR
INT
1720 PRINT USR2(" 3 ") ;
1730 PRINT " - Grabar sector" :PRINT
1740 PRINT USR2(" 4 ") ;
1750 PRINT " - Volcado en impresora" :PRI
NT
1760 PRINT USR2(" 5 ") ;
56 MSX
1770
1780
1790
1800
1810
1820
1830
1840
1850
1860
1870
1880
1890
1900
1910
1920
1930
1940
1958
1960
1970
1980
1990
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
PRINT " - Continuar con otro disket
te" :PRINT
PRINT USR2 ( " 6 ") ;
PRINT R - Terminar" :PRINT:PRINT
X=ll :Y=17:A*=" ELIJA UN NUMERO ":G0
SUB 3070
K*=INKEY$:IF K*<"1" OR K*>"6" THEN
1800
IF K*="5" THEN 1350
IF K$="6" THEN CLSrKEY ON:END
ON VAL(K$) GOSUB 1860,1950,2830,290
0
SOTO 1660
LOCATE 6,17:PRINT "NUMERO DEL SECTO
R <0- B ;STR*(NSD-l) ;")";:INPUT SE
IF SE<0 OR SEXNSD-1) THEN LOCATE 0
,17:PRINT STRING$(75," ");:60T0 186
0
LOCATE 0,17:PRINT STRIN6$(75," ");
A$=DSKI$(0,SE)
BS-1
RETURN 1800
' *• EDITOR DE SECTORES tt
IF BS=0 THEN 1860
KEY(1)0N:KEY<3)0N:KEY(5)0N
ON KEY GOSUB 2010 , ,2030 , ,2050
PG=1 :PD=DMA:UD=DMA+167:G0T0 2070
PG=2 :PD=DMA+168 :UD=DMA+335 :GOTO 207
0
PG=3:PD=DMA+336:UD=DMA+511 -.SOTO 207
0
PG=P6-1:IF PB<1 THEN PG=1 :RETURN
IF PG=2 THEN RETURN 1990 ELSE RETUR
N 1980
PG=PG+1:IF PG>3 THEN PG=3:RETURN
IF PG=2 THEN RETURN 1990 ELSE RETUR
N 2000
KEY ( 1 ) OFF :KEY (3) OFF :KEY (5) OFF
RETURN 1660
CLS
BY=PD:X=6:Y=i
PRINT USR2(" Sector Pagina
")
LOCATE 8,0:PRINT USR3 (STR$ (SE) )
LOCATE 23,0:PRINT USR3 (STRf (PG) )
FOR N=PD TO UD STEP 8
PRINT RIGHT*<"000"+HEX$<N-DMA) ,4) + "
FOR C=0 TO 7:B=PEEK(N+C)
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2438
2440
2450
2460
2470
PRINT RIGHTí ( "0"+HEX$ (B) ,2)+" ";
NEXT CrPRINT " ";
FOR C=0 TO 7:B=PEEK(N+C>
IF (B>31 AND B<127) THEN PRINT CHR$
(B) ; ELSE PRINT " ." ;
NEXT CrPRINT
NEXT N
LOCATE 0,24:PRINT USR2 ( " P.ant
P.sig Salir ") ;
GOSUB 2530
K$=INKEY$:IF K$=""' THEN 2230
K=ASC(K$>
IF (K>27 AND K<32> THEN GOSUB 2330
IF K=8 AND X>30 THEN GOSUB 2500:X=(
X-29)*3:G0SUB 2530
IF K=9 AND X<30 THEN GOSUB 2500 :X=2
9+X/3:G0SUB 2530
IF K>31 AND K<127 THEN GOSUB 2590
GOTO 2230
tt
CURSOR
tt
GOSUB 2500
IF X<30 THEN ON K-27 GOTO 2360,2380
,2440,2460
ON K-27 GOTO 2400,2420,2440,2460
X=X+3:IF X<30 THEN BY=BY+1 ELSE X=2
7
GOTO 2530
X=X-3:IF X>5 THEN BY=BY-1 ELSE X=6
GOTO 2530
X=X+1:IF X<39 THEN BY=BY+1 ELSE X=3
8
GOTO 2530
X=X-1:IF X>30 THEN BY=BY-1 ELSE X=3
1
60T0 25Í0
Y=Y-1:IF Y>0 THEN BY=BY-8 ELSE Y=l '
BOTO 2530
IF PG>2 THEN 2490
Y=Y+1:IF Y<22 THEN BY=BY+8 ELSE Y=2
1
2480 GOTO 2530
2490 Y=Y+1:IF Y<23 THEN BY=BY+8 ELSE Y=2
2
2500 B=PEEK (BY) :IF X<30 THEN CR$=RIGHT$(
"0"+HEX$(B) ,2) :GOTO 2520
2510 IF (B>31 AND B<127) THEN CR*=CHRt(B
) ELSE CR$=" ."
LOCATE X, Y sPRINT CR$;:RETURN
B=PEEK(BY) :IF X<30 THEN CR*=RISHT*<
2520
2530
MSX 57
utilidades
"0"+HEX$(B) ,2) :BOTO 2550
2540 IF m>m AND B<127) THEN CR$=CHR$(B
) ELSE CSí="."
2550 LOCATE X,Y:PRINT USR2(CR*> : RETURN
2560 '
2570 ' tt MODIFICACION VALORES *t
2580 '
2590 IF X<30 THEN 2680
2600 LOCATE X,Y:PRINT K$;:POKE BY , ASC (K$
)
2610 LOCATE ( X-29) «3 , Y :PRINT RIGHT$<"0"+
HEX$ (PEEK (BY ) ) ,2)
2620 X=X+1:IF X>38 THEN X=31:Y=Y+1
2630 IF PG>2 THEN 2660
2640 IF Y>21 THEN Y=21 :X=38 ELSE BY=BY + 1
2650 60T0 2670
2660 IF Y>22 THEN Y=22:X=38 ELSE BY=BY+1
2670 GOSUB 2530:RETURN
2680 IF K$<"0" OR (K$>"9" AND K$<"A") OR
K$>"F" THEN RETURN
2690 LOCATE X,Y:PRINT K*;:A*=K$
2700 K$=INKEY*:IF K$<"0" OR (K*>"9" AND
K$<"A") OR K$>"F" THEN 2700
2710 LOCATE X+1,Y:PRINT K$;:A$=A$+K$
2720 POKE BY ,VAL ( "&H"+A$)
2730 LOCATE 29+X/3 , Y :B=PEEK (BY ) : IF (B>31
AND B<127) THEN PRINT CHRí(B); ELS
E PRINT
2740 X=X+3:IF X>27 THEN X=6:Y=Y+1
2750 IF PG>2 THEN 2780
2760 IF Y>21 THEN Y=21:X=27 ELSE BY=BY+1
2770 GOTO 2790
2780 IF Y>22 THEN Y=22:X=27 ELSE BY=BY+1
2790 GOSUB 2530:RETURN
2800 '
2810 ' tt GRABACION DE SECTOR tt
2820 '
2830 IF BS=0 THEN 1860
2840 LOCATE 6,17:A$=" GRABANDO SECTOR "+
STR$(SE)+" " : PRINT USR2 ( A$) ; :PRINT
II II
2850 DSKOf 0,SE
2860 RETURN
2870 '
2880 ' tt VOLCADO A IMPRESORA $$
2890 '
2900 IF BS=0 THEN 1860
2910 LPRINT "SECTOR NUMERO" $SE:LPRINT
2920 LOCATE 6,17:PRINT &TRING*(40," ")
2930 LOCATE 6,17:PRINT USR2C IMPRIMIEND
O ")
294» FOR N=DMA TO DMA+511 STEP 16
2950 LPRINT RIGHT$ ( "000"+HEX$ (N-DMA) ,4)+
m " • : B $ = " "
2960 FOR C=0 TO 15 :B=PEEK (N + C)
2970 LPRINT RIGHTf ( "0"+HEX$ (B) ,2)+" ";
2980 NEXT C:LPRINT " ";
2990 FOR C=0 TO 15 :B=PEEK (N+C)
3000 IF (B>31 AND B<127) THEN LPRINT CHR
*<B) ; ELSE LPRINT " ." ;
3010 NEXT C:LPRINT
3020 NEXT N rLPRINT :LPRINT
3030 RETURN
3040 '
3050 ' ** DESTELLO CARACTERES *t
3060 '
3070 At=USR3(A$)
3080 LOCATE X,Y:PRINT A*;
3090 FOR T=l TO 100 :NEXT T
3100 RETURN
3110 '
3120 ' tt TRATAMIENTO ERRORES tt
3130 '
3140 CLS
3150 IF ERR<68 AND ERR019 THEN KEY' ON:P
RINT "ERROR EN LA LINEA" ;ERL :END
3160 IF ERR=19 THEN LOCATE 0,6:PRINT USR
2(" ERROR EN PERIFERICO ")
3170 IF ERR=68 THEN LOCATE 0,6:PRINT USR
2(" ERROR DE ACCESO AL DISKETTE ")
3180 IF ERR=69 THEN LOCATE 0,6:PRINT USR
2(" DISKETTE PROTEGIDO ")
3190 IF ERR=70 THEN LOCATE 0,6:PRINT USR
2(" DISKETTE INEXISTENTE O MAL COLO
CADO ")
3200 LOCATE 0,18:PRINT "Corrija el error
y pulse ";:PRINT USR2 ( " RETURN");
3210 LINE INPUT K$
3220 RESUME 1660
3230 '
3240 ' tt CODIGO MAQUINA tt
3250 '
3260 DATA 2A ,B7 ,F3 ,01 ,E8 ,07 ,E5 ,09 ,E5 ,D1
3270 DATA E1,01,FF,00,09,E5,D9,E1,01,00
3280 DATA 04 ,09 ,D9 ,CD ,4A ,00 ,EE ,FF ,D9 ,CD
3290 DATA 4D ,00 ,23 ,D9 ,23 ,E7 ,C2 , 17 ,E0,C9
3300 DATA 2A,F8,F7,46,23,5E,23,56,D5,E1
3310 DATA 7E,37,FE,7F,D0,C6,80,77,23,10
3320 DATA F5,C9
3330 DATA 2A ,F8 ,F7 ,46 ,23 ,5E ,23 ,56 ,D5 ,E1
3340 DATA 7E,C6,80,77,23,10,F9,C9
58 MSX
La industria informática española
tiene loque necesita.
El N~l para anunciantes
Publinformática,S.A.- Bravo Murilkx 377 3 g E-Telf. 7339662/96 -Madrid 28020
El algoritmo
de Martin
TSOn
¿Sos
el número de noviembre
de 1986, la prestigiosa re-
sista «Investigación y Cien-
cia» en su habitual sección «Jue-
gos de Ordenador», publicó un in-
teresante artículo de A.K. Drewd-
ney, titulado: «Decoración para la
mente: imágenes casi repetitivas
creadas por ordenador». El citado
artículo plantea tres programas
generadores de bellas imágenes,
aunque en la presente nota co-
mentaré únicamaente el segundo
de los descritos, el cual ha sido de-
sarrollado por Barry Martin, de la
Universidad de Aston, Birming-
ham.
La fórmula o algoritmo de Martin
es extraordinariamente simple,
pero sus posibilidades de genera-
ción de imágenes son muy am-
plias. Es por ello que he intentado
analizarlo a fin de generalizar su
aplicación y encontrar así nuevas
series de figuras.
Aunque el autor del artículo dice
que el algoritmo de Martin está
inspirado en el conjunto de Man-
delbrot, pero sin entrar en el cam-
po de los números complejos,
Variantes
creo que en esto último está en un
error, ya que como se verá a conti-
nuación, dicho algoritmo deriva en
realidad de una simple operación
con números complejos.
El algoritmo de Martin es el si-
guiente:
xx = y - f(x)
yy = a - x
en donde: f(x) = SNG(x) x SQ-
R(ABS(b*x-c)) siendo a,b,c los
parámetros iniciales cuya varia-
ción da lugar a diferentes figuras.
Haciendo x=xx : y=yy y efec-
tuando nuevamente la iteración
del algoritmo, la representación
de los puntos x,y en la pantalla da
lugar a bellas imágenes, como la
de la portada del indicado número
de la revista.
Veamos primeramente cómo el
algoritmo de Martin es una opera-
ción con números complejos.
Sean los números complejos:
z = x + i x y
w = -f(x) + i xa
en los que x y -f(x) son sus partes
reales, y y a las partes imaginarias
e i la unidad imaginaria. Si esta-
blecemos la iteración z=w— ixz,
se tiene:
z=-f(x) + i xa -i xx + y=y-f(x) *
+ (a-x) x i
Es decir, obtenemos un número
complejo cuya parte real es:
xx=y-f(x)
y la parte imaginaria:
yy=a— x
o sea, el algoritmo de Martin.
¿Qué representa la operación
efectuada con los números w y z?
Pues sencillamente una rotación
de 90° (multiplicación por -i) y
una traslación (sumando el vector
MSX 61
aplicaciones
w). La astucia del programa de
Martin consiste en hacer variable
la traslación, ya que la parte real
de w es — f(z), manteniendo acota-
da al valor a la parte imaginaria de
dicho vector. Por otra parte, cam-
bia el signo de la función f (x) con el
de x.
Para que el programa funcione,
creando bellas imágenes, hay que
encontrar funciones f(x) adecua-
das. Martin ha dado la ya indicada,
que corresponde a dos ramas de
parábola:
f 2 (x) = abs(bxx-c)
Martin sugiere también f(x)=
SIN(x), aunque a mí me ha costa-
do mucho obtener buenas figuras
con esta última función.
Para poder dar valores cuales-
quiera a a,b,c en el programa, hay
que introducir una variable de es-
cala, y en algún caso es mejor dis-
poner de otras dos variables para
centrar la imagen en la pantalla. El
número de iteraciones para llegar
a buenas imágenes es de varios
miles. El ordenador produce de 1 0
a 15 mil puntos por hora según la
función utilizada para f(x).
Con lo expuesto anteriormente
de teoría, he ensayado variantes al
programa de Martin y voy a dar
aquí algunos resultados.
En primer lugar, con la misma
función de Martin se consiguen
nuevas series de imágenes, po-
niendo en lugar de c, SGN(x)xc.
Como nuevas funciones que
también dan buenas imágenes,
he ensayado las siguientes:
Función exponencial.
f(x)=SGN(x)x(b-cxEXP(z))
siendo z=— .01 xxxSGN(x).
z debe mantenerse negativa,
pues en caso contrario la función
crece muy deprisa y se produce
"Overflow".
Función arco tangente.
f(x)=SGN(x) x (b-c x ATN(x)).
Función logarítmica.
f(x)=SGN(x) x (b-c x LOG(1 +z))
siendo z=xxSGN(x).
En este caso la función dentro
del logaritmo debe mantenerse
siempre mayor que cero. En lugar
de 1 -i-z puede ponerse d+z siendo
d un cuarto parámetro siempre
positivo.
En el algoritmo de Martin apare-
ce un eje de simetría inclinado 45°
respecto a los ejes de la pantalla.
Si quiere mantenerse el eje de si-
metría paralelo al eje vertical de la
pantalla, debe efectuarse un giro
de coordenadas de 45° mediante:
X 1 = 707 1 (y+x) : Y 1 =.707 1 *y-x)
y representar X1 e Y1.
Un programa general puede
quedar así:
10 INPUT"PARAMETROS ,, ;A,B,C
20 INPUT"ESCALA";K
30 COLOR 10.1.1 :SCREEN 2
40 PSET(125+K.X1,95+k. Y1)
50 z=
60 XX=Y-f(x)
70 Y=A-X
80 X=XX
90 X1.7071 . (X+Y):Y1=.7071 * (y-x)
100 GOTO 40
El programa puede estructurar-
se también mediante un bucle
FOR...NEXT entre las líneas 40 y
90. En este caso debe introducirse
una variable N para fijar el número
de iteraciones a efectuar. Pero ello
tiene el inconveniente de que el
programa termine sin haber com-
pletado una figura interesante. Tal
como se ha planteado debe finali-
zarse con CONTROL-STOP.
Las líneas 50 y 60 deben ade-
cuarse a la función elegida:
Función de Martin (parábolas)
62 MSX
50 Z=ABS(B.X-C)
60 XX=Y-SQR(Z)
Función exponencial
50 Z=-.01 .X.SGN(X)
60 xx=Y-SGN(X)X)(B-CXEXP(Z))
Función arco tangente
50 z=x
60 XX=Y-SGN(X)X(B-CXATN(Z))
En este caso puede prescindie-
se de la variable auxiliarZ para ga-
nar rapidez.
Función logarítmica.
50 Z=XXSGN(X)
60 XX=Y-SGN(X)X(B-CXLOG(1+Z))
En la línea 40 puede ser preciso
modificar los valores 125 y/o 95
para centrar la imagen en la pan-
zadas del algoritmo de Martin.
Función exponencial.
A 10 20 20 20 20 10 20
B -15.1 .4 -4 -1 100-30
C 5 2 2 4 1 10 1
K .5 4 1 1 1 .1 .1
Llamo la atención sobre la es-
tructura que aparece en la primera
serie (10-15,5) que yo llamo «al-
veolar» y que tiene la apariencia
de la figura. Se trata de recintos
circulares o elípticos conectados
entre si. Esta estructura aparece
también en la función de Martin y
en la logarítmica. Cambiando la
escala, se pueden apreciar deta-
lles de lo que a pequeña escala
aparece como un simple punto o
un trazo.
Función arco tangente.
A 1 1 1 10 .1 1 5
B .4 .2 1 2 10 5 0
C 1 1 -1 10 -2 5 2
K 10 10 10 1 .5 1 2
Puede probarse la serie 10-
10,10 con escalas .2 y 2.
El algoritmo de Martín tal como
se ha expuesto, se presta a múlti-
ples innovaciones, escogiendo
adecuadamente otras funciones
de X. Hay que señalar que si f(x) es
creciente, las imágenes crecen sin
parar (función de Martín, logarítmi-
ca). Con funciones decrecientes
(exponencial) las imágenes se es-
tabilizan al cabo de algunos miles
de iteraciones. Hay que señalar
también, que la misma combina-
ción de parámetros de entrada,
puede producir efectos totalmente
diferentes según la escala escogi-
da.
Bien, si encontráis nuevas fun-
ciones que den buenas imágenes
a velocidades adecuadas, podéis
mandarlas a la revista.
A trabajar y buena suerte.
José M. a Climent
talla, bien directamente sobre el
programa o mediante dos nuevos
parámetros auxiliares.
A continuación se dan algunos
valores que generan figuras inte-
resantes para las variantes anali-
Las primeras series generan
cruces muy espectaculares. La úl-
tima una estrella de cuatro puntas,
cuyas proporciones pueden va-
riarse con el valoc de C.
Aunque aparentemente a veces
parece que el programa no avan-
ce, hay que tener paciencia y es-
perar, pues cualquier dibujo inte-
resante necesita varios miles de
puntos para completarse.
Función logarítmica.
A 10 10 100100.1
B 4 -10-10-10-2
C -5 10 30 -30-1
K 2 .2 .1 .1 4
La última serie con LOG(.5+Z).
La función logarítmica produce
estructuras que denomino
«óseas» ya que recuerdan la de
un hueso. Algunas incluso pue-
den resultar algo repulsivas o tétri-
cas dentro de su originalidad.
NOTA:
Una vez terminado el artículo,
he ensayado una nueva variante
que se puede describir como si-
gue:
En la línea 50 pondremos:
50 Z=ABS(-LX ? +B * +C) sien-
do L=SGN(X)
y en la línea 60:
60 XX=Y-L.SQR(Z) o bien
60 XX=Y-LLOG(1+Z)
dando ambas fórmulas vistosas
imágenes. En la línea 50 se puede
también suprimir el signo menos
delante de L. Esta línea define una
elipse o hipérbola en lugar de la
parábola de la fórmula de Martín.
José María Climent Parcet
Avd. Infanta Carlota, 124, 13- 1. a
08029 Barcelona
Tel.: 322 79 14
D.N.I.: 36.229.728
MSX 63
• VENDO ordenador Philips
(videojuegos Philips viedopac
+ G7400 y módulo Homecom-
puter 7420), cartucho de jue-
gos, joysticks y programas. Es-
cribir a: Alvaro Bartolomé Va-
lentín. La Resina, 5. 40200 Cué-
llar (Segovia).
• CAMBIO tableta gráfica
SVI-105, para ordenador SVI-
318/328 por ratón o bola gráfi-
ca para MSX. Interesados es-
cribir a: Carlos Martínez. Ca-
llejón del Moro, 1. Huete
(Cuenca).
programas, todo por 50.000
ptas. Interesados llamar Tel.:
(91) 437 08 95, preguntar por
Gerardo. También vendo uni-
dad de discos SVI-707 con jue-
gos.
• VENDO ordenador Sony HB-
75P de 64K, con dos cartuchos
y varias cintas. Todo por 45.000
ptas. Interesados escribir a:
Francisco Javier Lata Souto.
Lamas de Abad, s/n. 15703
Santiago (La Coruña).
• VENDO SVI-328, cassette
SVI-904, monitor fósforo verde
Philips 12" y libros, todo por
40.000 ptas. Interesados escri-
bir a: Juan Altmira. Pintor To-
gores, 12. 08290 Cerdanyola
(Barcelona), o llamar Tel.: (93)
691 07 28.
• INTERESADOS en desen-
samblador del Z-80 para CP/M
(usuarios SVI-328) y versión
base. Escribir a: Alberto
Martínez Espinosa. Carabelos,
61. 28041 Madrid.
• VENDO programas MSX.
Escribir a: Alberto Frías. Julián
Gayarre, 2. 31590 Castejón
(Navarra), o llamar Tel.: (948)
77 00 27.
• CAMBIO juegos. Interesa-
dos escribir a: Fernando Ríos
León. Aguardenteros, 9. Ante-
quera (Málaga), o llamar Tel.:
(954) 84 42 93.
• INTERCAMBIO programas
para MSX-1 y MSX-2, en cinta,
cartucho y disco. Escribir a: Jo-
sé Ernesto Rodríguez. Capitán
Salom, 14. 07004 Palma de Ma-
llorca o llamar al Tel.: 29 51 39.
• URGE vender ordenador
Canon V-20, unidad de disco
3.5", impresora y diversos pro-
gramas. Llamar a Manuel Hi-
dalgo al Tel.: (91) 253 84 89.
• INTERCAMBIO programas
de aplicación y juegos. Intere-
sados escribir a: Oscar López
Pérez. Alberche, 136. 45007
Toledo o llamar al Tel.: (925)
23 26 84.
• INTERCAMBIO todo tipo de
programas MSX-1 y MSX-2. In-
teresados contactar con: Iñaki
Torrecilla Puente. Celestino
M. del Arenal, 5.48015 Bilbao o
llamar al Tel.: (94) 435 69 96.
• VENDO ordenador Einstein
80 K RAM. Se incluye monitor
fósforo verde, impresora y
programa de contabilidad, ba-
ses de datos, tratamiento de
textos y multiplan. Precio a
convenir. Llamar a los Tel. : (9 1 )
248 40 54 o 248 41 47, pregun-
tar por Oscar.
• VENDO ratón gráfico ML-
10MA de Mitsubishi por 15.000
ptas. Escribir a: Rafael Baena
Serrano. Avda. Felipe n, 22.
Móstoles (Madrid).
• COMPRO Monitor fósforo
verde o color e intercambio
programas de todo tipo. Inte-
resados escribir a: Benjamín
de la Torre Luque-Romero. In-
ca Garcilaso, 14. Montilla (Cór-
doba).
• INTERCAMBIO programas.
Escribir a: Carmelo Alcolea
Garrido. Pintor Medina Vera,
29. 30600 Archena (Murcia).
• INTERCAMBIO programas.
Contactar con: Carlos Delga-
do Marinas. Pablo Ruiz Picas-
so, 12. 50015 Zaragoza o llamar
al Tel.: (976) 51 22 97.
isi
• CLUB MSX. Si tienes un or-
denador MSX y quieres infor-
mación del Software, Hardwa-
re, etc. ¡¡Contacta con noso-
tros!! Escribir a: Santiago Sán-
chez Navarro. Comercio, 20.
Alcantarilla (Murcia) o llamar
al Tel.: (968) 80 47 22.
64 MSX
compro,
vendo, cambio . . .
• VENDO, compro, intercam-
bio juegos MSX-1. Contactar
con: Francisco Mateo. Ramón y
Cajal, 28. 04800 Albox (Alme-
ría).
• VENDO ordenador X'press
con programas en MSX-DOS y
CP/M. Llamar a Francisco Si-
món al Tel.: (91) 645 83 61.
ISI
• CLUB MSX Bierzo. Intercam-
bios de juegos e ideas. Nues-
tro teléfono permanente es
(987) 51 13 02. Bembibre
(León). Preguntar por José
Díaz Tejeda.
• COMPRO impresora Philips
MSX VW-0020. Perfecto fun-
cionamiento. Compro unidad
de disco para MSX. Llamar al
Tel.: (93) 674 87 11, preguntar
por Antonio.
• VENDO Philipsss VG-8020
con curso de BASIC y graba-
dora por 40.000 ptas. Llamar al
Tel.: 30 54 54 de Málaga, pre-
guntar por Alvaro.
M
• VENDO ampliación de me-
moria MSX 64 K RAM. Llamar
al Tel.: (952) 49 02 42.
• VENDO MSX-2 Sony HB-
F500P, incorporoa unidad de
disco, teclado numérico, 128 K
VRAM, sistema operativo y
muchos juegos comerciales y
conexión a monitor, por
100.000 ptas. Escribir a: Luis
Segura Salvador. Plaza Caste-
llini, 1. Cartagena (Murcia).
• VENDO ordenador Philips
VG-8010, cartucho de juegos,
varios programas de aplica-
ción, manuales y libro para
aprender a programar. Todo
por 25.000 ptas. Escribir a:
José Luis Pérez. Vicomicia, 5.
08970 San Juan Despi (Barcelo-
na) o llamar al Tel.: (93)
373 09 33.
ANUNCIOS GRATUITOS
Todos los anuncios (compras, ventas, cambios o comunicaciones de clubs de usuarios, etc.) que van en esta sección,
deben tener un máximo de cuarenta palabras Con el fin de facilitar la transcripción de los anuncios hemos recuadrado
cuarenta espacios para que en cada uno vaya una palabra Después, recortar y mandar a
ANUNCIOS GRATUITOS
C/ Bravo Murillo. 377, 5 ° A
28020 MADRID
L
J
Rincón
dellectoK
MUCHAS QUEJAS Y
VARIOS PROBLEMAS
Es triste ir de tienda en tienda,
ver los MSX en exposición, obser-
var cómo tienen cierta implanta-
ción en el mercado, pero al mismo
tiepo, cuando lo que buscas ya no
es el ordenador, ni la unidad de
discos, porque ya los tienes y co-
noces, y lo que te intersa ahora
son cosas como el Sistema Ope-
rativo para tus discos, el MSX-
DOS, convertidores de 40 a 80 co-
lumnas, modems o acopladores
acústicos, etc. te encuentras con
el trago amargo de que ni el ven-
dedor sabe contestar a tus pre-
guntas, ni muchas veces puedes
dar con el comercio que tenga al-
go de esto, teniendoi pues, que
iniciar largos procesos de pedi-
dos por correo, haciendo las co-
sas un poco a ciegas y por tu
cuenta y riesgo. Quiero decir, que
tengo la impresión de que las
tiendas sólo ofrecen el simple or-
denador y poco más, dejándote
luego sólo, respecto a lo que a
software y hardware se refiere.
Y esto es lo que ocurre, como
cuando buscas el tan sonado
MSx-DOS y te encuentras con que
es un sistema operativo bajo en
operatividad, que no tiene mu-
chos elementos, sin los cuales no
sé cómo se atreven a presentarse
como tal, como son un Editor de
Líneas (EDLIN), que no tiene fun-
ciones capaces de recuperar ar-
chivos dañados (RECOVER), que
no tiene la posibilidad de hacer
subdirectorios, etc.. es decir, que
no es un sistema operativo, ya
que sus cualidades, tal y como se
presenta, las ostenta también el
BASIC de disco, o sea, un camelo.
Igualmente ocurre cuando te
enteras de que andan por ahí
compiladores COBOL. Te intere-
sas por ellos, consigues uno, el
COBOL Nevada de Dynadata, lo
pruebas y ¿qué te encuentras?
Pues que no puedes hacer tus
propios programas COBOL, sim-
plemente puedes compilar pro-
gramas ya hechos. Te asombras,
gasta tiempo y dinero en ponerte
en contacto con ellos y resulta
que ni ellos mismos saben si pue-
de funcionar en tu aparato (poseo
un SONY HB-75P y unidad de dis-
cos Philips), si podrá hacer o no
tus programas COBOL sin un edi-
tor (evidentemente no), si necesi-
to o no 80 columnas y acaban re-
matándolo enviándome un librito
del tal COBOL Nevada (versión
muy particular del COBOL), total-
mente en inglés, cuestión que en
contactos previos no se me co-
municó. En fin, os escribo para
que me resolváis varias dudas.
¿El Spectravideo X'press es un
auténtico MSX o no lo es? ¿El In-
terinos SVI-727 que convierte las
40 columnas en 80 funciona con
cualquier MSX o sólo con los
Spectravideo? ¿Funcionará dicho
interface con programas de ges-
tión de 40 columnas?
Reinaldo Rodríguez Peralta
Granada
Ciertamente, los problemas que
plantean algunas casas distribuido-
ras y tiendas dejan mucho que de-
sear, pues no cuidan al usuario final
que es a quien va dirigido el produc-
to. La poca información y conoci-
miento de los vendedores, junto a la
poca profesionalidad de determina-
dos fabricantes (que no se preocu-
pan para nada ni de sus productos,
ni de los usuarios), convierten al
marcado de MSX en una auténtica
jungla, de la cual sólo se beneficia el
mejor preparado. Esto es cuestión
de verlo, ya que por ejemplo, tanto
Mitsubishi, como Philips y Sony, se
vuelcan tanto con los ordenadores
como con los usuarios y esto ofrece
una garantía.
Por otro lado, lo que nos cuentas
acerca del MSX-DOS es totalmente
cierto. Por este motivo, este mes pu-
blicamos un artículo que hace refe-
rencia a este tema. En cuanto al pro-
blema que nos planteas con el CO-
BOL de Dynadata, sólo te podemos
decir una cosa, a nosotros no nos lo
facilitaron para realizarle una críti-
ca... (sobran palabras). Por último,
contestarte las dudas. El X'press es
un ordenador MSX con disco e inter-
face RS-232C incorporado, lo que
marca la diferencia entre sus más
inmediatos competidores.
El cartucho de 40/80 columnas
está preparado para que funcione
con cualquier ordenador MSX de la I
generación, pues los de la II ya vie-
nen con la instrucción WIDTH 80
que realiza la misma función. En
cuanto al funcionamiento del cartu-
cho con programas de gestión, de-
penderá del programa, aunque en
principio, no debe existir problema
alguno.
PROBLEMAS CON UN
PROGRAMA
Tengo un Sony HB-75P, y des-
pués de teclear el programa
«Mensajes de error en Castella-
no», no he tenido resultado algu-
no. ¿Qué tengo que hacer?
Jesús Ortega
Soria
En realidad, el programa no hace
nada. Cuando se ejecuta y se come-
te algún error, éste no sale en inglés,
sino en castellano, pero inicialmente
cuando se efectúa un RUN, apare-
cerá el mensaje "OK". La instrucción
CALL hace una llamada a otra ins-
trucción añadida, mediante un car-
tucho ROM, por lo tanto, no funcio-
nará si no hay un cartucho ROM co-
nectado. WAIT detiene la ejecución
de un programa durante un tiempo
determinado.
66 MSX
Catálogo de Software
i ^1 para
I asft^g ordenadores
y ;! : personales
cata
Todo el Software disponible en el
mercado reunido en un catálogo
de 800 fichas
1 : ENTREGA
550 FICHAS
+ FICHERO
Resto en dos entregas
trimestrales de 1 50 fichas
cada una
PRECIO TOTAL DE LA SUSCRIPCION 8.000 PTAS.
COPIE O RECORTE ESTE CUPON DE PEDIDO
( -y —
' El importe lo abonaré POR CHEQUE □ CONTRA REEMBOLSO □ CON MI
TARJETA DE CREDITO □
Cargue 8.000 ptas. a mi tarjeta American Express □ Visa □ Interbank □
Número de m, tarjeta I 1 I I I I 1 1 I I 1 I I I I 1 I I 1 I I I 1 I 1 )
NOMBRE
CALLE :
SOLICITE HOY MISMO EL
CATALOGO DE SOFTWARE A:
infoúis .s.3.
Bravo Murillo, 377, 5.° A
28020 MADRID
O EN CONCESIONARIOS IBM
CIUDAD
PROVINCIA
ref: CATALOGO DE SOFTWARE
C. P.
TELEFONO
CS-2
-concálcu^^ adeCÍm al,
■ tíEít*^ I
5.590-
" « n O O
-1'
\ A t*- v ' • con .
45 pasos o*- ¡: nSia nt:e.
Conl ° nes científicas
*a funciones «-»
5 lo dígito* s uo ptas
Funcione» cA x>, o- . ri | 0 con
^ ol ? cl °ro de decimales dése
pantaUa.
2 990 P tas -